https://www.acmicpc.net/problem/14235
14235번: 크리스마스 선물
크리스마스에는 산타가 착한 아이들에게 선물을 나눠준다. 올해도 산타는 선물을 나눠주기 위해 많은 노력을 하고 있는데, 전세계를 돌아댕기며 착한 아이들에게 선물을 나눠줄 것이다. 하지만
www.acmicpc.net
저는 우선순위 큐를 통해 문제를 해결하였습니다.
우선순위 큐를 통해 a가 0일때는 우선순위 큐에 선물을 넣고, 0이라면 우선순위 큐에서 값을 꺼내왔습니다.
package BOJ.greedy;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.PriorityQueue;
import java.util.StringTokenizer;
import java.util.function.Function;
public class BOJ_14235 {
private static final int EMPTY = -1;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
Function<String,Integer> stoi = Integer::parseInt;
int n = stoi.apply(st.nextToken());
PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
for(int i = 0 ; i < n ; i++){
st = new StringTokenizer(br.readLine());
int cnt = stoi.apply(st.nextToken());
if(cnt == 0){
if(!pq.isEmpty()){
System.out.println(pq.poll());
}else{
System.out.println(EMPTY);
}
continue;
}
for(int j = 0 ; j < cnt ; j++){
pq.offer(stoi.apply(st.nextToken()));
}
}
}
}
'알고리즘' 카테고리의 다른 글
백준 16174번 점프왕 쩰리(JAVA) (0) | 2022.07.24 |
---|---|
백준 16724번 피리 부는 사나이 (JAVA) (0) | 2022.07.23 |
백준 23741번 야바위 게임 (JAVA) (0) | 2022.07.21 |
백준 19638번 센티와 마법의 뿅망치 (JAVA) (0) | 2022.07.20 |
백준 2613번 숫자구슬 (0) | 2022.07.19 |