문제

 

풀이 코드

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 을 이용하여 접근하셨다.

+ Recent posts