[프로그래머스 JS] 이상한 문자 만들기

이얀·2021년 11월 1일
0

알고리즘

목록 보기
22/22

문제 설명

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

제한 사항

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

풀이

const solution = s => {
  const arr = s.split(' ');
  for(let i in arr) {
    arr.splice(i, 1, arr[i].split(''))
    arr[i].forEach((e, j) => j%2 ? arr[i].splice(j,1,e.toLowerCase()) : arr[i].splice(j,1,e.toUpperCase()));
    arr.splice(i, 1, arr[i].join(''))
  }
  return arr.join(' ')
}

설명

  1. 문장의 단어별로 쪼개 배열을 만든다.
  2. 각 단어의 인덱스를 이용해야 하므로 단어도 알페벳으로 쪼갠다.
  3. 단어마다 반복문을 돌려 인덱스에 따른 대소문자 구별을 해주어 splice() 처리를 해준다.
  4. 알파벳을 합친다.
  5. 단어를 합친다.

0개의 댓글