문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입력값 s를 split() 을 이용해 단어 별로 배열에 저장한다.
배열에서 단어 하나씩 가져와서 문자를 아스키코드로 변환한다.
아스키 코드값 과 문자의 인덱스 값이 조건에 일치하는지 확인한 후
대문자, 소문자로 변환하고 temp 문자열에 문자를 추가한다.
일치하지 않는 경우 원래 문자를 추가한다.
이를 reduce()이용하여 word에 저장하고 join()를 이용하여 문자열을 반환한다.function solution(s) { let words = s.split(" ").reduce((arr, word) => { let temp = ""; for (let i = 0; i < word.length; i++) { let ascii = word[i].charCodeAt(0); let c; if (ascii >= 97 && ascii <= 122 && i % 2 === 0) { c = word[i].toUpperCase(); } else if (ascii >= 65 && ascii <= 90 && i % 2 === 1) { c = word[i].toLowerCase(); } else { c = word[i]; } temp += c; } arr.push(temp); return arr; }, []) return words.join(" "); }