728x90
한번 풀어봣던건데 다시 풀땐 못 풀었다.
우선 PriorityQueue를 초기화할때 Collections.reverseOrder()를 넣어줘서 내림차순으로 만드는 것,
그리고 PQ의 remove메소드의 존재여부
2개를 까먹어서 못품 알고 모르고는 종이 한장차이임
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | public int[] solution(String[] operations) { int[] answer = new int[2]; PriorityQueue<Integer> minPQ = new PriorityQueue<>(); PriorityQueue<Integer> maxPQ = new PriorityQueue<>(Collections.reverseOrder()); for (int i = 0; i < operations.length; i++) { // System.out.println(operations[i]); if (operations[i].charAt(0) == 'I') { int input = Integer.parseInt(operations[i].substring(2)); minPQ.add(input); maxPQ.add(input); } else if (operations[i].charAt(0) == 'D') { if (operations[i].charAt(2) == '-') { if (!minPQ.isEmpty()) maxPQ.remove(minPQ.poll()); } else { if (!maxPQ.isEmpty()) minPQ.remove(maxPQ.poll()); } } } if (!maxPQ.isEmpty()) { answer[0] = maxPQ.poll(); answer[1] = minPQ.poll(); } return answer; } | cs |
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - ORACLE SQL (SELECT) (0) | 2019.12.07 |
---|---|
프로그래머스 - K번째수 (정렬) (0) | 2019.12.04 |
프로그래머스 - 디스크 컨트롤러 (힙) (0) | 2019.12.04 |
프로그래머스 - 라면공장 (힙) (0) | 2019.12.04 |
프로그래머스 - 더 맵게 (힙) (0) | 2019.12.04 |