간단히 요약하면 문자열을 배열로 잘 쪼개서 각 문자열에 순서를 부여하고, 그 순서에 따라 홀짝을 구분하여 대소문자로 변경해주면 된다. 인덱스 번호 기준으로 짝수번째 알파벳을 대문자 홀수번째 알파벳을 소문자로 변경해주면 됩니다.
let solution = (s) => s.split(" ").map(e => e.split("").map((e, i) => (i+1)%2 !== 0 ? e.toUpperCase() : e.toLowerCase()).join("")).join(" ");
정규식 키워드 \w
는 하나의 문자를 찾아줍니다.
정규식 키워드 참조 : https://docs.microsoft.com/ko-kr/dotnet/standard/base-types/regular-expression-language-quick-reference
찾아서 홀수는 UpperCase
짝수는 LowerCase
로 바꾸어줍니다.
let solution = (s) => s.toUpperCase().replace(/(\w)(\w)/g, a => a[0].toUpperCase() + a[1].toLowerCase())