이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다.
이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요.
입출력 예시
operations : ["I 7","I 5","I -5","D -1"]
-> [7,5]
function solution(operations) {
var answer = [];
operations.forEach((op) => {
var [todo, num] = op.split(" ");
if (todo == 'I') answer.push(Number(num));
else {
var tmp = (num == 1 ? Math.max(...answer) : Math.min(...answer))
answer.splice(answer.indexOf(tmp), 1);
}
})
return answer.length == 0 ? [0, 0] : [Math.max(...answer), Math.min(...answer)];
}