[프로그래머스#JS] 이중우선순위큐

dongwon·2021년 2월 14일
0

프로그래머스-Level 3

목록 보기
10/14
post-custom-banner

문제

이중 우선 순위 큐https://programmers.co.kr/learn/courses/30/lessons/42628

풀이

이중 우선 순위 큐, 힙 문제지만 그냥 풀어도 풀리는 문제.

코드

function solution(operations) {
  let ans = [];
  let queue = [];

  operations.map((op) => {
    if (op[0] === "I") {
      let temp = parseInt(op.split(" ")[1]);
      queue.push(temp);
    } else if (op === "D -1") {
      if (queue.length === 0) return;
      let idx = queue.indexOf(Math.min.apply(null, queue));
      queue.splice(idx, 1);
    } else if (op === "D 1") {
      if (queue.length === 0) return;
      let idx = queue.indexOf(Math.max.apply(null, queue));
      queue.splice(idx, 1);
    }
  });

  if (queue.length === 0) {
    ans.push(0);
    ans.push(0);
  } else {
    ans.push(Math.max.apply(null, queue));
    ans.push(Math.min.apply(null, queue));
  }

  return ans;
}
profile
데이원컴퍼니 프론트엔드 개발자입니다.
post-custom-banner

0개의 댓글