이상한 문자 만들기 (자바스크립트)_프로그래머스

Jason Moon·2022년 5월 17일
0

알고리즘

목록 보기
5/8

문제 설명

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

제한 사항

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

입출력 예

s return
"try hello world" "TrY HeLlO WoRlD"

풀이👌

function solution(s) {
  return s //
    .split(' ') //
    .map((x) =>
      x
        .split('')
        .map((y, i) => (i % 2 === 0 ? y.toUpperCase() : y.toLowerCase()))
        .join('')
    )
    .join(' ');
}

접근 방식🤔

문자을 배열로 바꿔서 접근해야지 생각했는데 for문과 if문으로 시도하다가 못풀어서 결국 힌트를 좀 봤다.
console.log(solution('Hello world')) 이렇게 만들어 놓고 우선 띄워쓰기 부분을 해결하기 위해 ' '로 split하고 한글자 한글자 씩에 접근해 대소문자로 변경해줬다. 그리고 join으로 문자열로 변환해 줬다.

회고🤓

for, if문이 아닌 배열 함수에 조금 더 익숙해지는 문제였다. 이 문제를 풀고 다른 문제를 풀 때 배열 함수들을 좀 더 자유롭게 쓸 수 있었다. 기본적인 for문과 if문으로도 다시 한 번 풀어봐야겠다.

📙 추가 공부

  • split, join함수
profile
어려워 보여도 시간을 들여서 해보면 누구나 할 수 있는 일이다

0개의 댓글

관련 채용 정보