수정 전
function solution(s) {
var answer = '';
s.split(' ').map((el)=>{
answer += el[0].toUpperCase()+el.slice(1).toLowerCase()+' '
})
return answer.trim();
}
아래의 오류가 발생한다
Uncaught TypeError: Cannot read properties of undefined (reading 'toUpperCase')
at <anonymous>:4:25
at Array.map (<anonymous>)
at solution2 (<anonymous>:3:18)
at <anonymous>:1:1
map() 함수에서 각 el에 대해 첫 글자를 대문자로 바꾸려고 시도(el[0].toUpperCase())
하지만 el이 빈 문자열일 경우('') 오류가 발생한다
왜냐하면 빈 문자열에는 인덱스 0의 위치에 있는 문자가 없기 때문이다
수정 후
function solution(s) {
var answer = '';
let arr = s.split(' ').map((el)=>
el?el[0].toUpperCase()+el.slice(1).toLowerCase() : '' )
answer = arr.join(' ');
return answer;
}
'algorithm' 카테고리의 다른 글
구명보트 (0) | 2023.09.25 |
---|---|
문자열 내 마음대로 정렬하기 (feat. JS sort 함수) (0) | 2023.09.05 |
부분집합 구하기 (0) | 2023.08.20 |
이진트리 순회 (깊이우선탐색) (0) | 2023.08.19 |
재귀함수를 이용한 이진수 출력 (0) | 2023.08.18 |