코딩 문제 풀이/백준
[백준] 자바 문제 풀이 1655 : 골드2
코딩하는 랄로
2023. 9. 23. 21:31
반응형
BOJ 1655 풀이 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
PriorityQueue<Integer> maxq = new PriorityQueue<>((o1, o2) -> (o2 - o1));
PriorityQueue<Integer> minq = new PriorityQueue<>();
for (int i = 0; i < n; i++) {
int num = Integer.parseInt(br.readLine());
if(maxq.size() == minq.size()) {
maxq.add(num);
}
else {
minq.add(num);
}
if(!maxq.isEmpty() && !minq.isEmpty()) {
if(minq.peek() < maxq.peek()) {
int tmp = minq.poll();
minq.add(maxq.poll());
maxq.add(tmp);
}
}
bw.write(maxq.peek() + "\n");
}
bw.flush();
br.close();
bw.close();
}
}반응형