문제
해결방법
- slice() 메서드는 어떤 배열의 begin부터 end까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환한다. 원본 배열은 바뀌지 않는다.
- words라는 빈 배열을 만든다
- string을 나눈다
- uppercase 첫글자, 첫글자+rest of string
- push result into words 배열
- join 'words' into string
- result라는 첫글자가 대문자로 들어있는 string을 만든다
- for loop를 돌린다.
- 만약 character 왼쪽에 빈칸이 있으면 capitalize하고 add to result 한다
- else, add to result
- 첫글자에는 적용이 안되므로 항상 대문자가 되게 한다
제출 코드
function capitalize(str) {
const words = [];
for (let word of str.split(' ')) {
words.push(word[0].toUpperCase() + word.slice(1));
}
return words.join(' ');
}
function capitalize(str) {
let result = str[0].toUpperCase();
for (let i = 1; i < str.length; i++) {
if(str[i-1] === ' ') {
result += str[i].toUpperCase();
} else {
result += str[i];
}
}
return result
}