딱 보고 쉬운 문제인줄 알았는데 시간이 생각보다 많이 걸렸다.... 유용한 메서드 'map'을 더 많이 써보고 익숙해 지도록 하자. 👻
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
공백을 기준으로 단어를 나눠 문자열의 길이를 구해야 한다.(공백을 제외한 짝수 길이의 문자를 대문자로 바꿔줘야 하기 때문에 )
그렇다면 공백을 기준으로 배열을 만들어 준다면 각 첫 문자를 대문자로 바꿔줄 수 있고, 배열 내 요소들마다 함수를 걸어준다면 되겠다! map
메서드 사용!
이후에 다시 문자열을 join
을 이용해 배열 -> 문자열로 바꿔주면 된다.
function solution(str){
return str.split(' ').map(word =>{
let result = '';
for(let i = 0;i<word.length;i++){
if(i % 2 === 0){
result += word[i].toUpperCase();
}else{
result += word[i].toLowerCase();
}
}
return result;
}).join(' ');
}