-
728x90
문제설명
https://school.programmers.co.kr/learn/courses/30/lessons/12930
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
s return "try hello world" "TrY HeLlO WoRlD" 문제 풀이
function solution(s) { let words = s.split(' ') let result = '' for(let i = 0; i < words.length; i++) { let word = words[i]; for (let j = 0; j < word.length; j++) { if(j % 2 === 0) { result += word[j].toUpperCase() } else { result += word[j].toLowerCase() } } if(i < words.length - 1) { result += ' ' } } return result; }
처음에 제한 사항을 제대로 안 봐서 테스트 케이스에서 계속 통과를 못했는데
문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
이 부분을 주목해야한다..ㅎ 처음에 저걸 못보고 전체 문자열 기준으로 홀짝을 나눴다
띄어쓰기 기준으로 split()을 이용해서 배열을 만들고 그 배열을 for문으로 순회하도록 했다.
그 내부에 또 for문을 만들어서 이번엔 띄어쓰기로 나누었던 문자열을 순회를 하는데 인덱스가 짝수면 대문자를, 홀수면 소문자로 변환해서 문자열을 더해준다.
그리고 j 인덱스를 다 순회 했으면 마지막에 공백을 추가할 건데 마지막 문자열에는 공백을 추가하지 않도록 -1을 해주었다.
'코딩테스트, 알고리즘' 카테고리의 다른 글
[프로그래머스] 올바른 괄호 (JS / Stack) (0) 2023.08.27 [프로그래머스] 이진 변환 반복하기 (JS) (0) 2023.08.26 [프로그래머스] 문자열 내 마음대로 정렬하기 (JS) (0) 2023.08.19 [프로그래머스] 삼총사 (JS) (0) 2023.08.18 [프로그래머스] 크기가 작은 부분문자열 (JS) (0) 2023.05.07 댓글