나의 풀이
function solution(s) {
let arr = s.split(' ');
let newArr = arr.map((e,i) => {
let string = '';
for (let j = 0; j< e.length; j++) {
if(j % 2) {
string += e[j].toLowerCase()
continue
}
string += e[j].toUpperCase()
}
return string;
});
return newArr.join(' ');
}
다른사람의 풀이
function solution(s){
//함수를 완성해주세요
return s.toUpperCase().replace(/(\w)(\w)/g,
(a) => a[0].toUpperCase()+a[1].toLowerCase())
}
replace의 두번째인자가 함수가 될 경우 매개변수로 매치된 문자열과 인덱스, 문자열 전체 등이 올 수 있다.
여러문자가 매치될 경우 매치된 각각의 문자에 대해 함수가 반복문처럼 여러번 실행된다.