java로 최대/최소 힙 구현 -> PriorityQueue 사용
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N;
N = Integer.parseInt(br.readLine());
int num;
PriorityQueue<Integer> pq = new PriorityQueue<>((a,b)->(b-a));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < N; i++) {
num = Integer.parseInt(br.readLine());
if(num==0) {
if (pq.isEmpty()) sb.append(0).append("\n");
else {
sb.append(pq.peek()).append("\n");
pq.poll();
}
}else{
pq.add(num);
}
}
System.out.print(sb);
br.close();
}
}
최대힙
PriorityQueue<Integer> pq = new PriorityQueue<>((a,b)->(b-a));
최소힙
PriorityQueue<Integer> pq = new PriorityQueue<>();
오늘의 회고
- 자료구조를 특정지어 문제가 나오지 않아도 풀 수 있게 완벽히 이해해서 문제풀이를 하자
- 내일(4/3) 학습 예정 : 백트래킹 알고리즘 문제 풀고 정리, 스프링부트 프로젝트 강의 듣기
'algorithm > 문제 풀이' 카테고리의 다른 글
99클럽 코테 스터디 6일차 TIL - 프로그래머스 문자열 내 마음대로 정렬하기 (0) | 2024.04.06 |
---|---|
99클럽 코테 스터디 4일차 TIL - 프로그래머스 문제 : 할인 행사 (1) | 2024.04.04 |
백준 10989번 (수 정렬하기 3) Java 11 계수 정렬 (0) | 2021.02.08 |
백준 2740번 (행렬 곱셈) 자바 Java11 (0) | 2021.01.26 |
백준 1914번 (하노이 탑) 자바 Java11 (0) | 2021.01.26 |