문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
s | return |
---|---|
"try hello world" | "TrY HeLlO WoRlD" |
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.
function solution(s) {
let arr = s.split(' ');
return arr.map(a => {
let str = '';
for(let i=0; i<a.length; i++) {
if(i % 2 == 0) {
str += a[i].toUpperCase();
} else {
str += a[i].toLowerCase();
}
}
return str;
}).join(' ');
}
이 문제는 전체 문장보다 단어를 먼저 나눠서 생각하는게 더 중요한 문제인거 같다.
map 함수를 이용했고 각 단어들의 대소문자를 바꿔주고 마지막에 join 함수로 합쳐줬다.