https://programmers.co.kr/learn/courses/30/lessons/12930?language=javascript
function solution(s) {
let str = s.split(' ');
let wArr = '';
let w = '';
for(let i = 0; i < str.length; i++) {
const word = str[i];
wArr = word.split('');
for(let j = 0; j < word.length; j++) {
if (j % 2 === 0) {
w = word.charAt(j).toUpperCase();
wArr.splice(j, 1, w);
} else {
w = word.charAt(j).toLowerCase();
wArr.splice(j, 1, w);
}
}
str[i] = wArr.join('');
}
return str.join(' ');
}
입력이 소문자라 홀수 일 때 소문자로 바꿔주는 부분은 코드에 안 넣었는데 그렇게 하면 테스트 케이스를 통과할 수 없어서 굳이 넣어줘야 한다. 질문하기에 어떤 분이 알려주셔서 깨달음.
function solution(s) {
// 짝수번의 문자 = 대문자
// 홀수번의 문자 = 소문자
// s의 인풋값을 위와같은 조건으로 바꿔서 문자열을 리턴해줘야 한다.
let strArr = s.split(" ");
// split 메서드로 문자열을 공백을 기준으로 배열을 만든다.
// 배열의 공백을 기준으로 홀수와 짝수를 나누어 대소문자를 나눠주기 위해서
// map으로 배열을 순회하면서 순회한 인덱스들의 홀수 짝수로 나눠 리턴해준다.
return strArr.map(el => {
let str = "";
for (let i = 0; i < el.length; i++) {
if (i % 2 === 0) {
str += el[i].toUpperCase();
} else {
str += el[i].toLowerCase();
}
}
return str;
}).join(" ");
}