본문 바로가기
알고리즘

[프로그래머스/javascript] 짝지어제거하기 js

by 새우하이 2021. 9. 1.

효율성검사 2번때문에 당황 했던 문제.

문제 자체는 어렵지않다.

 

배열을 하나 생성해주고

s를 쭉 순회하면서 배열에 담아준다. 그러면서 생성한 배열의 마지막 값과 현재 순회중인 s의 요소 값이 같으면 배열의 마지막 값을 pop해주고 다르면 현재값을 push해준다.

 

function solution(s)
{
    let tmp =[] 
    let arr = [...s];
    
    if(s.length % 2!==0) return 0
    for(let cur of s){
        if(tmp[tmp.length-1] === cur){
            tmp.pop()
        }else{
            tmp.push(cur)
        }
    }
    return !tmp.length ? 1 : 0;
}

그리고 만약에 그 배열이 비어있으면 1을 리턴 하나라도 남아있으면 0을 리턴해주면된다.

여기서 효율성검사에서 걸리게되는데

시작할 때 s.length가 홀수면 바로 0을 리턴하면 된다.

어차피 홀수개면 하나는 남기때문에..결국 0이니까

댓글