조앤의 기술블로그
[프로그래머스 / 힙] 이중우선순위큐 (java) 본문
[코드]
import java.util.*;
class Solution {
static PriorityQueue<Integer> min = new PriorityQueue<>();
static PriorityQueue<Integer> max = new PriorityQueue<>(Collections.reverseOrder());
static void deleteMax(){
while(!min.isEmpty()){
max.add(min.poll());
}
max.poll();
while(!max.isEmpty()){
min.add(max.poll());
}
}
public int[] solution(String[] operations) {
int[] answer = {};
answer = new int[2];
for(String oper : operations){
String[] s = oper.split(" ");
String command = s[0];
int data = Integer.parseInt(s[1]);
if(command.equals("I")){
min.offer(data);
}else if(command.equals("D")){
if(data == 1){
deleteMax();
}else if(data == -1){
min.poll();
}
}
}
if(min.isEmpty()){
answer[0] = 0;
answer[1] = 0;
}else{
answer[1] = min.poll();
while(!min.isEmpty()){
max.add(min.poll());
}
answer[0] = max.poll();
}
return answer;
}
}
answer = new int[2]; 를 안해줘서 에러가 났었다. 배열을 사용할 때는 잊지말고 해주자! 시간잡아먹는다.
'Programming > 프로그래머스' 카테고리의 다른 글
[프로그래머스 / 카카오] (틀림)호텔 방 배정 (0) | 2020.04.04 |
---|---|
[프로그래머스 / 카카오] (틀림)크레인 인형뽑기 게임 (0) | 2020.04.04 |
[프로그래머스 / 힙] 디스크 컨트롤러 (java) (0) | 2020.04.02 |
[프로그래머스 / SQL] String, Date (mysql) (0) | 2020.04.01 |
[프로그래머스 / SQL] JOIN (mysql) (0) | 2020.04.01 |