문제
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
- 제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
나의 풀이
function solution(s) {
// s = 한 개 이상의 단어 str
// 각 단어 = 하나 이상의 공백문자
// 함수 (단어의 짝수번째 -> 대문자 / 홀수번째 -> 소문자)
// s를 단어별로 나눈 arr 생성
// 1. arr.split(" ") => [Hello, world]
let arr = s.split(" ");
// arr[i]를 또 배열로 => 짝수인덱스 -> 대문자 / 홀수인덱스 -> 소문자 => str
// 1. arr[i].split("").map((e, i => i%2 === 0 ? ~)).join
// arr[i].split("").map((e,i) => i%2 ===0? e.toUpperCase() : e).join("")
// arr[i]를 공백 있게 str으로 합침
// 2. for문으로 돌리지 말고 합치기 (map시도)
return arr.map(e => e.split("").map((e,i) => i%2 ===0? e.toUpperCase() : e.toLowerCase()).join("")).join(" ");
}
실행속도도 빨라서 개인적으로 만족스러운 답안
정확도 테스트 결과
'Coding test' 카테고리의 다른 글
[프로그래머스] 자연수 뒤집어 배열로 만들기 (Level 1) (0) | 2022.04.15 |
---|---|
[프로그래머스] 자릿수 더하기 (Level 1) (0) | 2022.04.14 |
[프로그래머스] 약수의 합 (Level 1) (1) | 2022.04.14 |
[프로그래머스] 시저 암호 (Level 1) (0) | 2022.04.14 |
[프로그래머스] 소수 찾기 (Level1) (0) | 2022.04.11 |