코딩테스트

[힙이용해서 풀어보기/프로그래머스] 이중우선순위큐

_서리__ 2023. 6. 4. 21:03
function solution(operations) {
    var answer = [];
    let queue = [];
    for(let i=0;i<operations.length;i++){
        if(operations[i][0]==='I'){
            let num = operations[i].slice(2)
            queue.push(Number(num))
        }else if(operations[i]==='D 1'){
            queue = queue.sort((a,b)=>a-b);
            queue.pop();
        }else if(operations[i]==='D -1'){
            queue = queue.sort((a,b)=>b-a)
            queue.pop();
        }
    }
    if(!queue.length) return [0,0]
    const min = Math.min(...queue)
    const max = Math.max(...queue)
    
    return [max,min];
}

 

쉽게풀었다. 정석은 힙을 이용해서 해야한다고 하는데, 자바스크립트에서는 힙을 지원하지 않는다.