반응형
풀이
- 해당 문제는우선순위 큐 문제인데
- 별도의 조건으로 정렬할 수 있을지 궁금했는데
- 2차원 배열에서 sort 할 때 Comparator 사용해서
- 인덱스 별 조건에 따라 정렬하는 것과 같이
- 초기화 할 때 조건을 추가하니 가능하다는 것을 알게 됨.
import java.io.*;
import java.util.*;
public class _11286 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
Queue<Integer> heap = new PriorityQueue<>((a,b)-> {
if (Math.abs(a)==Math.abs(b)) return a-b;
return Math.abs(a)-Math.abs(b);
});
int N = Integer.parseInt(br.readLine());
while (N>0) {
int num = Integer.parseInt(br.readLine());
if (num!=0) heap.add(num);
else {
if (heap.isEmpty()) bw.write("0\n");
else bw.write(heap.poll()+"\n");
}
N--;
}
bw.flush();
}
}
'알고리즘' 카테고리의 다른 글
[백준, 자바, 1094번] 막대기 (0) | 2024.11.27 |
---|---|
[백준, 자바, 1268번] 임시 반장 정하기 (0) | 2024.11.27 |
[백준, 자바, 1992번] 쿼드트리 (0) | 2024.11.25 |
[백준, 자바, 2740번] 행렬 곱셈 (0) | 2024.11.22 |
[백준, 자바, 16139번] 인간-컴퓨터 상호작용 (0) | 2024.11.22 |