문제 설명
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
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() 함수는 문자열에서 특정 인덱스에 위치하는 유니코드 단일문자를 반환합니다.
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