10.24

jihyun·2022년 10월 24일

풀자

목록 보기
1/6

문제 JadenCase 문자열 만들기

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

제한 조건

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

내 풀이

function solution(s) {
    let newString = s.toLowerCase().split(' ');
    const getUpper = (word) => {
        const restWord = word.substring(1)
        return word.charAt(0).toUpperCase().concat(restWord)
    }
     const jadenString = newString.map(word => getUpper(word)).join(' ');
    return jadenString;
}

charAt

charAt() 함수는 문자열에서 특정 인덱스에 위치하는 유니코드 단일문자를 반환합니다.

const sentence = 'The quick brown fox jumps over the lazy dog.';

const index = 4;

console.log(`The character at index ${index} is ${sentence.charAt(index)}`);
// expected output: "The character at index 4 is q"

출처:
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/charAt

이 설명만 보면 배열 인덱스로 접근하는 것과 크게 다른 부분이 없어보이지만, 공백이 2개 이상이라 빈 문자열이 생기는 경우에 undefined가 되어 오류가 발생한다.

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

0개의 댓글