[프로그래머스] Lv.1 이상한 문자 만들기

Miro·2022년 7월 30일
0
post-thumbnail

프로그래머스 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-1break;
        answer += ' ';
    }
    
    return answer;
}
cs

문자열 ssplit을 사용하여 공백을 기준으로 나누어 s_split에 배열로 할당한다.

이중 반복문을 만들어 j가 짝수일때 (0포함) s_split[i][j]의 문자를 대문자로, j가 홀수일때 s_split[i][j]의 문자를 소문자로 변환하여 빈 문자열 answer에 더해준다.

문자열 하나의 변환이 끝났으면 answer에 공백을 더해준다.
만약 isplit의 길이보다 1작으면 공백을 더하지 않고 반복문을 종료한다.

+추가 의견

map이나 fliter를 이용하여 짝수와 홀수만 골라서 join을 하는 방법도 있는 것 같음

홀수번째에는 소문자로 변환하는걸 나중에 깨달았다.
문제에 없어서 한참 헤맸는데 너무 문제의 제한 사항에만 초점을 두지 말고 조금 더 유연하게 문제를 풀어야 할 것 같다.

profile
프론트엔드 개발자(진)

0개의 댓글