on
백준 11286번
백준 11286번
-
좋아요
원본 : https://www.acmicpc.net/problem/11286
풀이
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Comparator; import java.util.PriorityQueue; public class Main { public static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); public static BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out)); public static void main(String[] args) throws Exception { int n = Integer.parseInt(reader.readLine()); PriorityQueue heap = new PriorityQueue(new Comparator() { @Override public int compare(Integer o1, Integer o2) { int abs1 = Math.abs(o1); int abs2 = Math.abs(o2); if (abs1 == abs2) { return o1 - o2; } else { return abs1 - abs2; } } }); for (int i = 0; i < n; i++) { int input = Integer.parseInt(reader.readLine()); if (input != 0) { heap.add(input); } else { Integer peek = heap.poll(); if (peek == null) { writer.write("0
"); } else { writer.write(peek + "
"); } } } writer.flush(); } }
from http://abc1q2w3e4r.tistory.com/209 by ccl(A) rewrite - 2021-11-08 10:02:03