문제설명 :
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
내가 작성한 코드 :
function solution(s) {
var answer = '';
let tmp = s.split(' ')
let changedArr = []
for(const x of tmp){
let str = ""
const arr = [...x]
arr.forEach((v,i) => {
if(i%2 == 0) str += v.toUpperCase()
else str += v.toLowerCase()
})
changedArr.push(str)
}
answer = changedArr.join(' ')
return answer
}
내가 겪었던 문제 :
주어진 모든 문자가 소문자라고 전제하고 문제를 풀었다.
=> 그래서 나는 짝수일 때만 toUpperCase() 메서드를 실행시켜주고, 홀수일 때는 그냥 문자를 넣어주었다.
=> 이렇게 문제를 풀 경우 주어진 문자가 대문자이면, 홀수인데도 대문자로 표시된다.
=> 때문에 홀수인 경우에는 toLowerCase() 메서드를 실행시켜주었다.
=> 테스트 케이스를 꼼꼼히 생각해보자 🥲
'코딩테스트' 카테고리의 다른 글
[프로그래머스] JadenCase 문자열 만들기 (0) | 2022.05.06 |
---|---|
[프로그래머스] 약수의 합 - JS (0) | 2022.05.06 |
[LeetCode] Two Sum (0) | 2022.03.25 |
[자바스크립트] 뒤집은 소수 | 숫자 뒤집는 방법 | 소수 구하는 방법 (0) | 2022.03.02 |
[백준] 세탁소 사장 동혁 (0) | 2021.09.22 |