function solution(s) {
let answer = [];
for (let i=0; i<s.length; i++) {
if (i%2 == 0) {
answer.push(s[i].toUpperCase())
} else {
answer.push(s[i].toLowerCase());
}
}
return answer.join('');
}
오류가 떠서 콘솔창으로 확인해봤더니, 빈공간인 경우 .toUpperCase()가 적용이 안되고 에러가 뜬다..
반복문으로 어떻게든 해보려고 몇시간을 끙끙대다 결국 포기... 그리고 알게된 사실..
.split('')은 글자별로, .split(' ')은 단어별로 나눠준다. (따옴표 안 띄어쓰기)
그리고 .map(요소) / .map(요소,인덱스)로 변수를 정해 함수를 만들면 됨
.map은 배열 안 요소를 하나씩 가져와 순회하며 함수를 적용하는 메소드다.
다시 쓰면서 분명 맞는 거 같은데 자꾸 틀리길래... 결국 챗지피티한테 물어봤는데
나는 삼항 연산자는 return을 내포하고있다고 착각했다. 그래서 return을 빼먹음..
사소한 실수는 두번 반복하지 않기 **
function solution(s) {
let arr = s.split(' ');
let answer = arr.map(word => {
return [...word].map((char,index) => {
return (index % 2 == 0) ? char.toUpperCase() : char.toLowerCase()
}).join('');
})
return answer.join(' ');
}
'코딩 테스트 > test_javaScript' 카테고리의 다른 글
[코딩테스트/javaScript] 최소직사각형 (0) | 2025.01.05 |
---|---|
[코딩테스트/javaScript] 크기가 작은 부분 문자열 (0) | 2025.01.04 |
[코딩테스트/javaScript] 3진법 뒤집기 (0) | 2025.01.02 |
[코딩테스트/javaScript] 최대공약수와 최소공배수 (0) | 2025.01.01 |
[코딩테스트/javaScript] 직사각형 별 찍기 (0) | 2024.12.31 |