문제
풀이 코드
function solution(s) {
return s.split(" ").map(item => {
if(item !== '')
return item[0].toUpperCase() + item.substr(1).toLowerCase()
}).join(" ")
}
풀이 과정
문자열을 공백 기준으로 우선 나누고, map 메서드를 통해 해당 인덱스가 공백이 아닌경우 ( ' ' 으로만 나누어진 경우가 이에 해당 )
해당 인덱스의 요소의 첫 문자만 대문자로 치환하고, 이후의 문자들을 붙여 반환하였다, 마지막으로 join 을 통해 나누어진 배열을 다시 하나의 문자열로 구성하였다.
처음 문제를 풀때 오류가 발생했는데 원인이 바로 공백으로만 나누어진 경우였다.
따라서 if 구절을 통해 공백이 아닌 경우에만 계산하도록 작성하였다
다른사람의 풀이
function solution(s) {
return s.split(" ").map(v => v.charAt(0).toUpperCase() + v.substring(1).toLowerCase()).join(" ");
}
if 구문없이 charAt 을 이용하여 접근하셨다.