๊ธฐ๋ก๋ฐฉ

BOJ_11279 : ์ตœ๋Œ€ ํž™ ๋ณธ๋ฌธ

CodingTest/Java

BOJ_11279 : ์ตœ๋Œ€ ํž™

Soom_1n 2023. 4. 18. 23:16

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

11279๋ฒˆ: ์ตœ๋Œ€ ํž™

์ฒซ์งธ ์ค„์— ์—ฐ์‚ฐ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ์—ฐ์‚ฐ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ x๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋งŒ์•ฝ x๊ฐ€ ์ž์—ฐ์ˆ˜๋ผ๋ฉด ๋ฐฐ์—ด์— x๋ผ๋Š” ๊ฐ’์„ ๋„ฃ๋Š”(์ถ”๊ฐ€ํ•˜๋Š”) ์—ฐ์‚ฐ์ด๊ณ , x๊ฐ€ 0

www.acmicpc.net



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ๋ฐฐ์—ด์— ์ž์—ฐ์ˆ˜๋ฅผ ๋„ฃ๊ฑฐ๋‚˜, ๋ฐฐ์—ด์˜ ์ตœ๋Œ€๊ฐ’์„ ๊บผ๋‚ด์ถœ๋ ฅํ•˜๋Š” ์—ฐ์‚ฐ์ด 100,000๋ฒˆ๊นŒ์ง€ ์ฃผ์–ด์ง„๋‹ค.
    • ์ตœ๋Œ€๊ฐ’์„ ๋น ๋ฅด๊ฒŒ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด, ๋งค๋ฒˆ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ตœ๋Œ€ํž™์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());

        PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < N; i++) {
            int x = Integer.parseInt(br.readLine());
            if (x == 0) {
                if (pq.isEmpty()) sb.append(0).append('\n');
                else sb.append(pq.poll()).append('\n');
            } else {
                pq.add(x);
            }
        }
        System.out.print(sb);
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • java์˜ PriorityQueue(์šฐ์„ ์ˆœ์œ„ ํ)๋Š” ์ตœ์†Œํž™์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, Collections.reverseOrder()๋ฅผ ๋„ฃ์–ด์„œ ์ตœ๋Œ€ ํž™์œผ๋กœ ๋งŒ๋“ ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ์šฐ์„ ์ˆœ์œ„ ํ ์ดˆ๊ธฐ๊ฐ’์ด ์ตœ์†Œํž™์ธ์ง€ ์ตœ๋Œ€ํž™์ธ์ง€ ํ—ท๊น”๋ ธ๋‹ค.
    • ๊ธฐ๋ณธ ๊ฐ’์€ ์ตœ์†Œํž™์ด๊ณ , ์ž‘์€๊ฒŒ ์œ„๋กœ ๊ฐ€์„œ ํ”ผ๋ผ๋ฏธ๋“œ/ํŠธ๋ฆฌ ๊ฐ™์€ ํ˜•ํƒœ๊ฐ€ ๋œ๋‹ค๊ณ  ๊ธฐ์–ตํ•ด์•ผ๊ฒ ๋‹ค.

728x90