시간초과를 해결하기 위해 사용
- BufferdReader
- StringBuilder
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
PriorityQueue<Integer> maxQueue = new PriorityQueue<>();
PriorityQueue<Integer> minQueue = new PriorityQueue<>((o1, o2) -> o2.compareTo(o1));
StringBuilder sb = new StringBuilder("");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
for (int i = 0; i < N; i++) {
int num = Integer.parseInt(br.readLine());
maxQueue.add(num);
if ((maxQueue.size() + minQueue.size()) % 2 != 0) {
minQueue.add(maxQueue.poll());
} else {
if (minQueue.peek() > num) {
maxQueue.add(minQueue.poll());
minQueue.add(maxQueue.poll());
}
}
sb.append(minQueue.peek() + "\n");
}
System.out.println(sb);
}
}
'알고리즘 공부 > boj' 카테고리의 다른 글
boj 1153: 네 개의 소수 (0) | 2021.01.10 |
---|---|
boj 17182: 우주 탐사선 (0) | 2021.01.10 |
boj 15686: 치킨배달 (0) | 2020.12.30 |
boj 1915: 가장 큰 정사각형 (0) | 2020.12.24 |
boj 10253: 헨리 (0) | 2020.12.24 |