DEVLOG
프로그래머스 알고리즘#25 - 이상한 문자 만들기 본문
728x90
반응형
<문제>
<풀이>
머리속으로 생각할때는 전혀 복잡하지 않은 문제지만
짜잘하게 케이스를 나눠서 생각해주어야하는 문제였다.
먼저 문자열을 잘라서 배열안에 저장
각 배열 원소 안을 돌면서 홀수번째는 대문자로, 짝수번째는 소문자로 변경
한 원소를 다 돌고나면 공백삽입
하지만 마지막인 경우에는 공백삽입X!
순서로 진행해주었다.
function solution(s) {
var answer = '';
s.split(' ').forEach((i,idx)=>{
for(var j=0; j<i.length;j++){
j%2==0?answer+=i[j].toUpperCase():answer+=i[j].toLowerCase();
}
if((idx+1) !== s.split(' ').length) answer+=' ';
});
return answer;
}
복잡해보이지만 사실 지금까지 하던거와 똑같긴 하다.
+다른사람코드
function toWeirdCase(s){
//함수를 완성해주세요
return s.toUpperCase().replace(/(\w)(\w)/g, function(a){return a[0].toUpperCase()+a[1].toLowerCase();})
}
정규식을 사용해주는 방법도 있지만...
아무리봐도 정규식을 잘 사용하지는 못할 것 같기 때문에 그냥 참고만 하고 넘어가려고 한다.
function toWeirdCase(s){
return s.split(' ').map(i => i.split('').map((j, key) => key % 2 === 0 ? j.toUpperCase() : j).join('')).join(' ')
}
오.. 깔끔해 좋당
728x90
반응형
'dev log > algorithm' 카테고리의 다른 글
프로그래머스 알고리즘#27 - 제일 작은 수 제거하기 (0) | 2021.01.06 |
---|---|
프로그래머스 알고리즘#26 - 자릿수 더하기 (0) | 2020.12.22 |
프로그래머스 알고리즘#24 - 정수 제곱근 판별 (0) | 2020.12.22 |
프로그래머스 알고리즘#23 - 자연수 뒤집어 배열로 만들기 (0) | 2020.12.22 |
프로그래머스 알고리즘#22 - 정수 내림차순으로 배치하기 (0) | 2020.12.22 |
Comments