*Udemy의 "The Coding Interview Bootcamp: Algorithms + Data Structures" 강의에서 학습한 내용을 정리한 포스팅입니다.
*https://soldonii.github.io에서 작성한 글을 티스토리로 옮겨온 포스팅입니다.
*자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :)
지문
// Write a function that accepts a string. The function should
// capitalize the first letter of each word in the string then
// return the capitalized string.
// --- Examples
// capitalize('a short sentence') --> 'A Short Sentence'
// capitalize('a lazy fox') --> 'A Lazy Fox'
// capitalize('look, it is working!') --> 'Look, It Is Working!'
1번 풀이
1. 결과물을 담을 빈 배열을 만든다.
2. 원본 문자열을 공백을 기준으로 배열로 만든다.
2-1. 해당 배열에서 for loop을 돌리고, 첫번째 element의 첫번째를 대문자로 한 후, 첫번째 element의 나머지를 slice를 이용해서 가져온다.
2-2. 그렇게 가져온 애들을 push를 이용하여 처음 만든 빈 배열에 넣어준다.
3. 최종적으로 만들어진 배열을 join을 이용해서 공백을 넣어서 string으로 변환해준다.
function capitalize(str) {
const word = [];
for (let word of str.split(' ')) {
words.push(word[0].toUpperCse() + word.slice(1));
}
return words.join(' ');
}
2번 풀이 : sort()
1. 빈 문자열을 만든다.
2. for loop을 이용해 문자열을 순회하면서,
2-1. 만약 현재 element의 왼쪽 element가 공백이면, 현재 element를 대문자로 만들어서 빈 문자열에 넣는다.
2-2. 그렇지 않을 경우 현재 element를 빈 문자열에 넣는다.
function capitalize(str) {
let result = '';
for (let i in str) {
if (str[i-1] === ' ' || !str[i-1]) {
result += str[i].toUpperCase();
} else {
result += str[i];
}
}
return result;
}
'Javascript 공부 > 알고리즘 풀이' 카테고리의 다른 글
자바스크립트 알고리즘(10) - fibonacci (0) | 2019.08.26 |
---|---|
자바스크립트 알고리즘(9) - steps (0) | 2019.08.26 |
자바스크립트 알고리즘(7) - reverseString (0) | 2019.08.26 |
자바스크립트 알고리즘(6) - reverseInt (0) | 2019.08.26 |
자바스크립트 알고리즘(5) - palindrome (0) | 2019.08.26 |
댓글