Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- CompositionAPI
- 간단 프로젝트
- 뷰 리액트
- SBS 개발
- 프로젝트 후기
- e-HR
- IT시스템개발
- 대문자
- 트리
- SBS 본사
- 뷰
- react
- 첫 리액트
- 오라클
- 백준
- 사내시스템
- 경력직
- MySQL
- 백준알고리즘
- 리액트
- 면접
- 자바
- 1차면접
- 쟈스
- URL입력
- 알고리즘
- 뷰 리액트 비교
- 첫 React
- Vue.js
- 웹 개발 면접 질문
Archives
- Today
- Total
리주의 프로그래밍 공부
[11279] 최대 힙 본문
최대 힙
각 노드의 키 값이 자식의 키 값보다 작지 않은 트리.
최대 트리 & 완전 이진 트리
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Collections;
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) throws IOException {
// 자바에서 priorityQueue는 기본적으로 최소힙으므로 역순
PriorityQueue<Integer> q = new PriorityQueue<Integer>(Collections.reverseOrder());
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
for(int i=0; i<n; i++) {
int a = Integer.parseInt(br.readLine());
if(a == 0) {
if(q.isEmpty()) {
bw.write("0\n");
} else {
bw.write(Integer.toString(q.poll()) + "\n");
}
} else {
q.add(a);
}
}
bw.flush();
bw.close();
}
}
자바에서 PriorityQueue 라이브러리를 제공하는걸 모른다면 직접 구현해서 풀어야하는 문제
'알고리즘 공부(백준)' 카테고리의 다른 글
[2293] 동전 1 (0) | 2021.01.04 |
---|---|
[11286] 절댓값 힙 (0) | 2021.01.02 |
[1920] 수 찾기 (0) | 2020.12.28 |
[10816] 숫자 카드 2 (0) | 2020.12.22 |
[2630] 색종이 만들기_java (0) | 2020.12.22 |