✔문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
✔입출력 예
s return
"try hello world" | "TrY HeLlO WoRlD" |
✔나의 풀이
function solution(s) {
return s.split('').map((item,index)=>{
if(index%2===0){
return item.toUpperCase();
}else{
return item.toLowerCase();
}
}).join('');
}
/***************다시 푼 풀이***************************/
function solution(s) {
var x = s.split(' ');
var answer = [];
for (let i = 0; i < x.length; i++) {
answer.push(x[i].split('').map((cur, j) => j%2 ? cur.toLowerCase() : cur.toUpperCase()).join(''));
}
return answer.join(" ");
}
내가 처음에 풀었던 풀이다. 나는 문자열 전체의 짝/홀수 인덱스를 구해서 풀려고 했다. 하지만 계속 오류가 떠서 왜 안되지 싶었는데 알고보니 제한 사항에 나와있었다. 단어를 기준으로 판단해야 한다고...
이 문제를 보고 제한 사항에 중요성을 깨달았다.
'알고리즘 > 자바스크립트-프로그래머스' 카테고리의 다른 글
[프로그래머스 | Javascript] 코딩테스트 Lv1 - 예산 (0) | 2023.01.03 |
---|---|
[프로그래머스 | Javascript] 코딩테스트 Lv1 - 3진법 뒤집기 (0) | 2023.01.03 |
[프로그래머스 | Javascript] 코딩테스트 Lv1 - 같은 숫자는 싫어 (0) | 2023.01.03 |
[프로그래머스 | Javascript] 코딩테스트 Lv1 - 최대공약수와 최소공배수 (0) | 2023.01.02 |
[프로그래머스 | Javascript] 코딩테스트 Lv1 - 행렬의 덧셈 (0) | 2023.01.02 |