알고리즘/프로그래머스 2단계

[프로그래머스 LV2] JadenCase 문자열 만들기 문제 풀이 (Javascript)

정현수 2021. 7. 17. 14:41
반응형

문제 설명

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

제한 조건

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

입출력 예

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

정답 풀이

나의 풀이

function solution(s) {
    return s.split(" ")
        .map(i => i.charAt(0).toUpperCase() + i.substring(1).toLowerCase())
        .join(" ");
}

 

다른 사람 풀이

function solution(s) {
    return s.split(" ").map(v => v.charAt(0).toUpperCase() + v.substring(1).toLowerCase()).join(" ");
}

 

거의 똑같은 풀이

 

맨 처음에 charAt 대신에 문자열을 인덱스로 접근 (ex : i[0]) 했다가 런타임 오류가 났다.

그래서 찾아보았다. 궁금한 사람은 아래 링크

https://stackoverflow.com/questions/5943726/string-charatx-or-stringx

 

string.charAt(x) or string[x]?

Is there any reason I should use string.charAt(x) instead of the bracket notation string[x]?

stackoverflow.com

 

반응형