JadenCase 문자열 만들기

Mudi·2023년 1월 12일
0

[JavaScript] Coding Test

목록 보기
18/23
post-thumbnail

JadenCase 문자열 만들기

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


문제

JadenCase란 단어의 첫 문자가 대문자이고, 그 외 글자는 소문자로 작성된 문자열을 의미합니다. 공백 문자로 구분되어 있는 문자열 s가 주어질 때 JadenCase로 바꾸는 함수를 완성하세요.


제한

  • 문자열 s는 알파벳, 숫자, 공백문자로 이루어져있습니다.
  • 숫자는 첫 문자로만 나옵니다.
  • 공백문자가 연속해서 나올 수 있습니다.

접근

문자열 s를 모두 쪼갠 후 순회하며 공백문자 다음에 나온 문자가 공백문자가 아닐 경우 대문자로 바꾸어줍니다.


풀이

한 글자씩 배열에 담기

let lowerArr = s.toLowerCase().split('');

문자열 s를 한글자씩 잘라서 lowerArr에 넣어줍니다.


가장 첫 문자를 대문자로 변환

lowerArr[0] = lowerArr[0].toUpperCase();

제일 첫 번째 글자는 대문자로 바꾸어 줍니다.
(원래는 위 코드를 반복문 안에서 실행해 주었으나 오류가 나서 알아보니
글자가 한 자일 경우가 있어서 반복문 실행전에 작성해주었습니다.)


반복문

for(let i = 0; i < lowerArr.length-1; i++){
       if(lowerArr[i] === ' ' && lowerArr[i+1] !== ' '){
           lowerArr[i+1] = lowerArr[i+1].toUpperCase()
       }
    }

lowerArr.length-1 만큼 순회합니다.
(마지막 글자가 공백문자일 경우를 대비하여 length-1 만큼만 반복합니다.)

i번째 글자가 공백문자이고, 다음 글자가 공백문자가 아니라면,
공백문자 다음 글자를 대문자로 바꾸어줍니다.


나의 코드

function solution(s) {
    let lowerArr = s.toLowerCase().split('');
    lowerArr[0] = lowerArr[0].toUpperCase();
    
    for(let i = 0; i < lowerArr.length-1; i++){
       if(lowerArr[i] === ' ' && lowerArr[i+1] !== ' '){
           lowerArr[i+1] = lowerArr[i+1].toUpperCase()
       }
    }
    return lowerArr.join('');
}

0개의 댓글