[프로그래머스 | Javascript] 코딩테스트 Lv1 - 이상한 문자 만들기

✔문제 설명

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

 

제한 사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

✔입출력 예

s                                              return

"try hello world" "TrY HeLlO WoRlD"

✔나의 풀이

function solution(s) {
    return s.split('').map((item,index)=>{
        if(index%2===0){
            return item.toUpperCase();
        }else{
            return item.toLowerCase();
        }
    }).join('');
}
/***************다시 푼 풀이***************************/
function solution(s) {
    var x = s.split(' ');
    var answer = [];    
    for (let i = 0; i < x.length; i++) {
        answer.push(x[i].split('').map((cur, j) => j%2 ? cur.toLowerCase() : cur.toUpperCase()).join(''));
    }
  return answer.join(" ");
}

내가 처음에 풀었던 풀이다. 나는 문자열 전체의 짝/홀수 인덱스를 구해서 풀려고 했다. 하지만 계속 오류가 떠서 왜 안되지 싶었는데 알고보니 제한 사항에 나와있었다. 단어를 기준으로 판단해야 한다고...

이 문제를 보고 제한 사항에 중요성을 깨달았다.