11286번: 절댓값 힙
첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
PriorityQueue<Integer> pq=new PriorityQueue<>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
if(Math.abs(o1)==Math.abs(o2)) {
return o1-o2;
}
else return Math.abs(o1)-Math.abs(o2);
}
});
for(int i=0;i<N;i++) {
int n=sc.nextInt();
if(n==0) printNum(pq);
else pq.add(n);
}
}
static void printNum(PriorityQueue<Integer> pq) {
if(pq.isEmpty()) System.out.println(0);
else System.out.println(pq.poll());
}
}
'코테 공부' 카테고리의 다른 글
[DFS] 적록색약(백준 10026번, 자바)☆ (0) | 2023.01.28 |
---|---|
[TreeMap]파일정리(백준 20291번, 자바)☆ (0) | 2023.01.26 |
[우선순위큐/힙] 최대 힙(백준 11279번, 자바) (0) | 2023.01.26 |
[우선순위 큐] 중간 값 구하기(백준 2696번, 자바)☆ (0) | 2023.01.25 |
파이프 옮기기(백준 17070번, 자바) (0) | 2023.01.15 |