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");
});
'코테연습' 카테고리의 다른 글
131. 이것이 코딩 테스트다 : 11장 모험가 길드 Javascript (0) | 2022.09.14 |
---|---|
130. 숫자의 표현 Javascript (0) | 2022.09.13 |
128. 약수의합 Javascript (0) | 2022.09.12 |
127. 시저암호 Javascript (0) | 2022.09.12 |
126. 수박수박수박수박수박수? Javascript (0) | 2022.09.12 |
댓글