function solution(s) {
let answer = [];
let splitS = s.split(" ");
for (let i = 0; i < splitS.length; i++) {
if (splitS[i] === "") {
answer.push("");
} else {
let str = splitS[i].split("");
let newStr = "";
for (let j = 0; j < str.length; j++) {
if (j === 0 && Number.isNaN(str[j]) === true) {
newStr += str[j];
} else if (j === 0 && Number.isNaN(str[j]) === false) {
newStr += str[j].toUpperCase();
} else {
newStr += str[j].toLowerCase();
}
}
answer.push(newStr);
}
}
return answer.join(" ");
}
여기서 예외는 공백이 연속적으로 나올수 있다는 점인데, split해주었을때 '' 이 있다면 공백이라는 의미이므로 answer에 공백을 넣어준다.