코테연습
129. 이상한 문자 만들기 Javascript
hxunz
2022. 9. 12. 22:08
https://school.programmers.co.kr/learn/courses/30/lessons/12930
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제에 대한 이해
- 우리가 풀어야 할 문제는 무엇인가?
- 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하라 - 주어진 자료는 무엇인가?
- 문자열 s - 조건은 무엇인가?
- 한 개 이상의 단어로 구성
- 각 단어는 하나 이상의 공백문자로 구분
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
2. 계획
- 주어진 문자열을 단어로 쪼개서 배열로 만든다.
- 이를 순회하면서 짝수번째 알파벳은 대문자로 홀수번째 알파벳은 소문자로 바꾼다.
- 공백 기준으로 다시 문자열로 합친다.
3. 실행
- 풀이 계획을 실행하고, 각 단계가 올바른지 점검하라.
function solution(s) {
return s.split(' ')
.map((it) => it.split(''))
.map((it) => it.map((word, index) => {
if (index % 2 === 0) {
return word.toUpperCase()
} else {
return word.toLowerCase()
}
}))
.map((el) => el.join(''))
.join(' ')
}
test('newString', () => {
expect(solution("try hello world")).toEqual("TrY HeLlO WoRlD");
expect(solution("abc abcd abcde")).toEqual("AbC AbCd AbCdE");
});