[프로그래머스] 레벨2 (level2) JadenCase

2020년 05월 20일, 09:04

JadenCase

문제 설명

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.

제한조건

  • s는 길이 1 이상인 문자열입니다.
  • s는 알파벳과 공백문자(" ")로 이루어져 있습니다.
  • 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 )

입출력 예

s return
"3people unFollowed me" "3people Unfollowed Me"
"for the last week" "For The Last Week"

문제풀이

공백으로 나뉘어진 문자열이기 때문에 split을 이용해서 단어의 배열을 만들고,
문자열의 첫번째 단어를 대문자로 바꾸고 나머지 문자열과 합치면 된다.

function solution(s) {
  var answer = "";
  let arr = s.split(" ");
  arr = arr.map(e => {
    let temp = e.slice(1, e.length).toLowerCase();
    let temp2 = e.slice(0, 1).toUpperCase();
    return temp2 + temp;
  });
  answer = arr.join(" ");
  return answer;
}

아쉬운 점 || 느낀 점

문제가 사실 어렵진 않았다. 근데 slice만 이용해서 풀었는데,
다른 사람들의 풀이를 보니 charAt과 subString으로도 푼 걸 봤다.
문자열에 대해서 좀 더 다른 함수들도 공부해서 사용해봐야겠다.