본문 바로가기

프로그래머스/구현

[문자열] 프로그래머스 '이상한 문자 만들기' - js

반응형

1. 문제

https://school.programmers.co.kr/learn/courses/30/lessons/12930

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

2. 설명

split을 통해 입력받은 문자열 s를 공백을 기준으로 나눠준 후, 그 값을 arr라는 배열에 저장한다.

arr의 길이만큼 for문을 돌린다.

만약 arr[i]가 빈칸이 아니라면 arr[i]의 j번째 인덱스가 짝수일때 대문자로, 홀수일 때 소문자로 바꿔주어 

temp라는 문자열에 넣어준 후, 안쪽 for문이 종료될 때 즉 arr[i]에 있는 모든 인덱스를 변경해주었을 때 

arr[i]의 값을 temp로 바꿔준다. 

다음 바깥 for문이 시작할 때는 다시 temp를 '' ,즉 빈 문자열로 재할당하여 안쪽 for문에서 다음 arr[i] 값을 변경할 수 있도록 한다.

3. 코드

function solution(s) {
    var answer = '';
    let arr = s.split(' ');
    let temp = '';
    
    for(let i=0;i<arr.length;i++){
        if(arr[i].length > 0){
            temp = '';
            for(let j=0;j<arr[i].length;j++){
                if(j%2===0){
                    temp += arr[i][j].toUpperCase();
                }else{
                    temp += arr[i][j].toLowerCase();
                }
            }
            arr[i] = temp;
        }
    }
    answer = arr.join(' ');
    
    return answer;
}
반응형