본문 바로가기

카테고리 없음

이상한 문자 만들기

문제 설명

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

function solution(s) {
    const words = s.split(" ")
    
    const answer = words.map(word => (
    word.split("").map((c, i) => {
    if(i % 2 === 0) return c.toUpperCase();
        return c.toLowerCase();
    }).join("")
    )).join(" ")
    
    return answer;
}

 

입력 받은 문자열을 split메서드를 사용하여 단어별로 나누어 배열로 저장하고

저장한 배열을 map메서드를 이용하여 순회하며 알파벳별로 조건문을 적용하기 위해 위 과정을 반복합니다.

단어의 작수번째는 대문자, 홀수번째는 소문자로 바뀌도록 소문자를 대문자로 바꾸어주는 toUpperCase 메서드,

대문자를 소문자로 바꾸어주는 toLowerCase 메서드를 사용하여 조건을 충족시키는 새로운 배열로 반환합니다.

그 후, 문자열로 바꾸어주기 위해 join메서드를 split을 사용했듯이 총 2번 사용하여 해결하였습니다.