[프로그래머스] 12951. JadenCase 문자열 만들기

최대 1 분 소요

문제 링크

[프로그래머스] 12951. JadenCase 문자열 만들기


풀이 과정

return s
    .split(" ")
    .map((word) => (word == "" ? "" : word[0].toUpperCase() + word.slice(1).toLowerCase()))
    .join(" ");
  1. 먼저 split 메소드를 통해 입력된 문자열을 공백 문자 기준으로 각 요소로 나누어 배열로 만듭니다.
  2. 배열을 순회하며 각 word 에 대해 첫 글자를 대문자로, 나머지 글자들은 소문자로 변형시킵니다.
  3. 배열 각 요소 사이사이에 공백 문자를 합쳐 만들어진 문자열을 리턴합니다.


http://dl.dropbox.com/s/kzkgqhhst0ggnyu/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-12951_JadenCase%20%EB%AC%B8%EC%9E%90%EC%97%B4%20%EB%A7%8C%EB%93%A4%EA%B8%B0-1.png

알파벳 사이에 공백이 하나라면 위와 같이 나뉘어질 것입니다. 그러면 word 는 알파벳으로 시작하는 문자가 됩니다.


http://dl.dropbox.com/s/h9c8u859280f1jt/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-12951_JadenCase%20%EB%AC%B8%EC%9E%90%EC%97%B4%20%EB%A7%8C%EB%93%A4%EA%B8%B0-2.png

하지만, 공백 문자가 연달아 등장할 수 있습니다. 문자열에 공백이 연달아 여러 개 사용된 문자열이면, 공백 기준으로 나뉘어진 word 는 위처럼 빈 문자열(““)일 수 있습니다. 이러면 0번 째 인덱스 참조가 불가능 하므로, 참조 에러가 발생하게 됩니다. 따라서, 잘린 문자열이 빈 문자열일 경우에 대한 예외 처리를 해주어야 했습니다.


코드

function solution(s) {
    return s
        .split(" ")
        .map((word) => (word == "" ? "" : word[0].toUpperCase() + word.slice(1).toLowerCase()))
        .join(" ");
}

console.log(solution("3people unFollowed me"));
// console.log(solution("for the last week"));
// console.log(solution("A B C D E"));
// console.log(solution("         "));

카테고리:

업데이트:

댓글남기기