[프로그래머스] 이상한 문자 만들기 - JS
2022. 8. 11. 00:55ㆍAlgorithm
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 조건
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
s | return |
"try hello world" | "TrY HeLlO WoRlD" |
입출력 예 설명
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "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(" ");
}
console.log(solution("try hello world")); // TrY HeLlO WoRlD
- 매개변수로 받은 문자열 s를 단어 단위 배열로 만든다.
- 배열 함수 map()을 사용해서 단어 요소를 글자 단위 배열로 한번더 쪼갠다.
- 안에서 또 map()을 사용해 글자 요소의 index가 짝수면 대문자로 홀수면 소문자로 바꾼다.
- join() 메서드로 글자를 다시 단어 문자열로 변환하고, 한번더 join()으로 각 단어를 하나의 문자열로 변환한다.
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/12930
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스] 최소 직사각형 - JS (0) | 2022.08.11 |
---|---|
[프로그래머스] 자릿수 더하기, 자연수 뒤집어 배열로 만들기 - JS (0) | 2022.08.11 |
[프로그래머스] 완주하지 못한 선수 - JS (0) | 2022.08.11 |
[프로그래머스] 2016년, 수박수박수박수박수박수? - JS (0) | 2022.08.10 |
[프로그래머스] 정수 내림차순으로 배치하기 - JS (0) | 2022.08.06 |