프로그래머스 Lv.1 이상한 문자 만들기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | function solution(s) { let answer = ''; let s_split = s.split(' '); for(let i = 0; i < s_split.length; i++) { for(let j = 0; j < s_split[i].length; j++) { if(j % 2 === 0) { answer += s_split[i][j].toUpperCase(); } else { answer += s_split[i][j].toLowerCase(); } } if(i === s_split.length-1) break; answer += ' '; } return answer; } | cs |
문자열
s
를split
을 사용하여 공백을 기준으로 나누어s_split
에 배열로 할당한다.이중 반복문을 만들어
j
가 짝수일때 (0포함)s_split[i][j]
의 문자를 대문자로,j
가 홀수일때s_split[i][j]
의 문자를 소문자로 변환하여 빈 문자열answer
에 더해준다.문자열 하나의 변환이 끝났으면
answer
에 공백을 더해준다.
만약i
가split
의 길이보다 1작으면 공백을 더하지 않고 반복문을 종료한다.
+추가 의견
map
이나fliter
를 이용하여 짝수와 홀수만 골라서join
을 하는 방법도 있는 것 같음홀수번째에는 소문자로 변환하는걸 나중에 깨달았다.
문제에 없어서 한참 헤맸는데 너무 문제의 제한 사항에만 초점을 두지 말고 조금 더 유연하게 문제를 풀어야 할 것 같다.