JadenCase는 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열이다.
문자열을 앞에서부터 한 글자씩 순회하며 처음이거나 앞 문자가 공백인 경우에는 대문자로 그 외에는 소문자로 변환한다.
function solution(s) {
let answer = "";
for (let i = 0; i < s.length; i++) {
if (i === 0 || s[i - 1] === " ") {
answer += s[i].toUpperCase();
} else {
answer += s[i].toLowerCase();
}
}
return answer;
}
정규표현식을 사용하면 간단하게 구현할 수 있다.
^
는 맨 앞을 의미한다. ^\S
는 첫번째 문자를 의미한다.\s
는 공백을 의미한다. \s\S
는 공백 뒤 문자를 의미한다.(^|\s)\S
이다.function solution(s) {
return s.toLowerCase().replace(/(^|\s)\S/g, first => first.toUpperCase());
}