문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
s | return |
---|---|
"try hello world" | "TrY HeLlO WoRlD" |
const solution = (s) => {
return s.split(" ")
.map(v => v.split("")
.map((alp, idx) => idx % 2 === 0
? alp.toUpperCase()
: alp.toLowerCase())
.join(""))
.join(" ");
}
먼저 문자열 s를 띄어쓰기를 기준으로 각각 요소로 나눠 배열로 만들어주고, 그 배열을 map으로 돌렸다. 그럼 "try","hello","world"의 각각 요소가 리턴이 되는데 리턴이 될 때 그 요소를 또 배열로 만들어서 "t","r","y"와 같이 나누었고 그 상태로 map을 돌려 각각의 요소와 인덱스를 인자로 받아 인덱스가 짝수일 때는 요소를 대문자로, 홀수일 땐 소문자로 바꾸는 처리를 하였다. 그 다음 join을 통해 다시 문자열로 만들어주고 ("try") 가장 바깥 map이 끝났을 때도 join을 통해 배열을 다시 하나의 문자열로 바꾸어주었다.