BOJ 14235 크리스마스 선물

less than 1 minute read

  1. 변수

    int N // 방문 횟수
    int A // 0이면 아이들, 아니면 거점지의 선물갯수
    PriorityQueue<Integer> pq //매번 가치가 가장 큰 선물을 주기 위한 우선순위 큐
    
  2. 로직

    • A가 0일 때
      • pq가 비어있다면 -1
      • pq에 데이터가 있다면 출력
    • A가 0이 아닐 때
      • pq에 데이터 추가
  3. 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.StringTokenizer;

public class BOJ_14235_크리스마스선물_201225 {

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		
		int N = Integer.parseInt(br.readLine());
		
		PriorityQueue<Integer> pq = new PriorityQueue<Integer>(Collections.reverseOrder());
		for (int i = 0; i < N; i++) {
			st = new StringTokenizer(br.readLine());
			int A = Integer.parseInt(st.nextToken());
			if(A == 0) {
				if(!pq.isEmpty())
					System.out.println(pq.poll());
				else
					System.out.println(-1);
			}else {
				for (int j = 0; j < A; j++) {
					pq.add(Integer.parseInt(st.nextToken()));
				}
			}
		}
	}
}

Tags:

Categories:

Updated:

Leave a comment