다희의 코딩 성장일기
[백준] 1927. 최소 힙 (자바 JAVA) 본문
[ 문제 ] [백준] 1927. 최소 힙 (자바 JAVA)
문제 링크 : https://www.acmicpc.net/problem/1927
1927번: 최소 힙
첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net
# 접근 방법 및 풀이
- 우선순위 큐 이용한 기본문제다.
- 근데 Scanner로 입력받으니까 시간초과나서 BufferedReader로 입력받았다.
- 아래 최대 힙과 짝궁인 문제!
- https://ilmiodiario.tistory.com/125
[백준] 11279. 최대 힙 (자바 JAVA)
[ 문제 ] [백준] 11279. 최대 힙(자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정..
ilmiodiario.tistory.com
# 주의할 점
- Scanner로 입력받으면 시간초과날 수도 있음
JAVA 코드
package Silver;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.Scanner;
public class bj1927_최소힙 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(in.readLine());
PriorityQueue<Integer> queue = new PriorityQueue<>();
for (int i = 0; i < n; i++) {
int num = Integer.parseInt(in.readLine());
if(num == 0) {
if(!queue.isEmpty())
System.out.println(queue.poll());
else
System.out.println(0);
continue;
}
queue.add(num);
}
}
}
REVIEW
'Algorithm > 백준 BOJ' 카테고리의 다른 글
[백준] 17298. 오큰수 (자바 JAVA) (0) | 2021.09.09 |
---|---|
[백준] 11286. 절대값 힙 (자바 JAVA) (0) | 2021.09.07 |
[백준] 11279. 최대 힙 (자바 JAVA) (0) | 2021.09.06 |
[백준] 16985. Maaaaaaaaaze (자바 JAVA) (0) | 2021.09.05 |
[백준] 5247. 불 (자바 JAVA) (0) | 2021.09.04 |
Comments