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

정재은·2023년 3월 19일
0

코딩테스트

목록 보기
7/16
post-thumbnail

문제

Lv.2 2019 JadenCase 문자열 만들기

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


제한사항

  • s는 길이 1 이상 200 이하인 문자열입니다.
  • s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.
    - 숫자는 단어의 첫 문자로만 나옵니다.
    - 숫자로만 이루어진 단어는 없습니다.
    - 공백문자가 연속해서 나올 수 있습니다.



나의 풀이

function solution(s) {
    var answer = [];
    let splitArr = s.toLowerCase().split(" ");
    splitArr.map((str) => {
        if(str !== ""){
            let upperCase = str.replace(str[0], str[0].toUpperCase())
            answer.push(upperCase)
        }else{
            answer.push("")
        }
    })
    return answer.join(" ");
}

모든 문자를 다 소문자로 바꾸고 공백을 기준으로 나누었다
그러고나서 '첫글자만 대문자로 바꾸려면 뭘 써야할까?' 하고 생각난 게 replace( ) 였는데
다른 사람들의 풀이를 보니 charAt( )과 substring( )을 사용하여 훨씬 간단하게 해결할 수 있었다
charAt( )substring( )은 기입하는 index에 따라 원하는 문자열을 반환시켜준다



수정

function solution(s) {
    let answer = []
    let splitArr = s.split(" ");
    splitArr.map((str) => {
        answer.push(str.charAt(0).toUpperCase() + str.substring(1).toLowerCase())  
    })
    return answer.join(" ");
}



profile
프론트엔드

0개의 댓글