[JAVA]백준 11279 최대 힙
JAVA로 풀이했습니다.
출처 : 백준 알고리즘 https://www.acmicpc.net
문제 개요
11279번 문제 👉 https://www.acmicpc.net/problem/11279
최대 힙 활용하는 프로그램 만들기
난이도 👉 실버 2
풀이과정
단순히 자료구조 중 최대 힙을 사용하는 문제입니다. 최대 힙에 대한 개념은 알지만, 사용법을 잘 몰라서 이번 기회에 공부했습니다.
나만의 방법
우선순위큐는 힙으로 구조되어 있으므로 우선순위큐를 활용하여 문제를 해결하였습니다. 또한, 기본적인 우선순위큐를 사용하면 최소 힙을 사용하기 때문에 최대 힙을 사용하도록 변경해주었습니다.
소스코드
public class baek_11279 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PriorityQueue<Integer> heap = new PriorityQueue<>((o1, o2) -> o2 - o1);
int N = Integer.parseInt(br.readLine());
for (int i = 0; i < N; i++) {
int now = Integer.parseInt(br.readLine());
if (now == 0 && heap.isEmpty()) {
System.out.println(0);
} else if (now == 0) {
System.out.println(heap.remove());
} else {
heap.add(now);
}
}
}
}
댓글남기기