코딩테스트/Programmers

이상한 문자 만들기 (JS)

동띵 2022. 8. 3. 16:37

https://school.programmers.co.kr/learn/courses/30/lessons/12930

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

function solution(s) {
    let answer = '';
    const wordArr = s.split(" ");
    for (let i=0; i<wordArr.length; i++) {
        let len = wordArr[i].length;
        let str = "";
        for (let j=0; j<len; j++) {
           str += (j%2===0) ? wordArr[i][j].toUpperCase() : wordArr[i][j].toLowerCase();
        }
        if (i < wordArr.length-1) str += " ";
        answer += str;
    }
    return answer;
}

 

split을 사용하여 입력받은 문자열을 공백 기준으로 나눈 배열을 만들어 주었다.

그다음 해당 배열의 길이만큼 (단어 개수만큼) for문을 돌면서,
해당 단어의 길이를 변수 len에 넣고 그 길이만큼 또 for문을 돌렸다.

 

여기에서 j가 짝수라면 해당 원소를 대문자로 바꿔주고 (toUpperCase() 사용)
홀수라면 소문자로 바꾸어 주었다. (toLowerCase() 사용)

 

마지막으로 단어들 사이에 공백을 넣기 위해
마지막 단어가 아니라면 뒤에 공백을 붙여주었다.

***

 if (i < wordArr.length-1) str += " ";

***