[Algorithm - Programmers] 이중우선순위큐

nunu·2023년 12월 17일
0

Algorithm

목록 보기
130/142

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

제출 코드

import java.util.Collections;
import java.util.PriorityQueue;
class Solution {
    public int[] solution(String[] operations) {
        PriorityQueue<Integer> maxQueue = new PriorityQueue<>(Collections.reverseOrder());
        PriorityQueue<Integer> minQueue = new PriorityQueue<>();

        for (int i = 0; i < operations.length; i++) {
            String[] input = operations[i].split(" ");
            if (input[0].equals("D")) {
                if (input[1].equals("1")) {
                    if (!maxQueue.isEmpty()) {
                        int tMax = maxQueue.poll();
                        minQueue.remove(tMax);
                    }
                }
                else {
                    if (!minQueue.isEmpty()) {
                        int tMin = minQueue.poll();
                        maxQueue.remove(tMin);
                    }
                }
            }
            else {
                int temp = Integer.parseInt(input[1]);
                maxQueue.add(temp);
                minQueue.add(temp);
            }
        }
        if (maxQueue.isEmpty()) {
            return new int[]{0, 0};
        }
        else {
            return new int[] {maxQueue.peek(), minQueue.peek()};
        }
    }
}
profile
Hello, I'm nunu

0개의 댓글