글 작성자: bbangson
반응형

 

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

난이도 : Lv.0

 

 

코드

function solution(code) {
    let answer = '';
    let mode = 0;

    [...code].forEach((c,i) => {
        if(c !== '1' && i % 2 === mode) answer += c;
        if(c === '1') mode = mode === 1 ? 0 : 1;
    }); 

    return answer.length === 0 ? "EMPTY" : answer;
}

 

[...code] 코드는 문자열 "code"를 배열로 변환시켜줍니다.

 

문제는 mode에 따라 조건이 나뉘어지는 것 같이 나왔지만, 자세히 읽어보면 mode보다는 code[idx]값이 더 기준이 된다는 것을 알 수 있습니다.

 

code[idx]가 "1"이 아닐때에는 모든 mode에서 문자열을 추가합니다.

code[idx]가 "1"이면, mode를 변경합니다.

 

 

 

 

피드백 환영합니다.

반응형