코딩테스트

[프로그래머스] 코드 처리하기 js

홍시_코딩기록 2024. 3. 20. 22:13

 

 

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

- 문제 보는데 한참 걸린 것 같다.

- 간단하게 mode가 0이면 짝수배열 인덱스 출력 mode가 1이면 홀수 인덱스 출력

- 그리고 code 배열에서 '1'을 만나면 mode를 0에서 1로, 1에서 0으로 

📌 내 코드

function solution(code) {
    let mode = 0;
    let result = '';
    for(let i = 0; i < code.length; i++) {
        if(mode === 0) {
            code[i] === '1' ? mode = 1 : (i%2 === 0 && (result += code[i]));
        } else {
            code[i] === '1' ? mode = 0 : (i%2 !== 0 && (result += code[i])); 
         }
    }
    return result === ''  ? 'EMPTY' : result
}

- 삼항연산자를 이용해서 mode가 0일때 아닐때로 나누어 코드를 작성하였다.

 

📌 다른 사람 코드

function solution(code) {
    var answer = code.replaceAll("1","").split("").filter((val, idx)=> idx%2 === 0).join("");
    return answer.length > 0 ? answer : "EMPTY";
}

- 코드에서 '1'을 뺀 나머지 문자열에서 짝수 배열만 가져오는 코드로 작성하였다. 

- 이렇게 해도 되는 거구나 싶다 신기하다..