[BOJ] 1766. ๋ฌธ์ œ์ง‘ (๐Ÿฅ‡, ์œ„์ƒ ์ •๋ ฌ)

lemythe423ยท2024๋…„ 2์›” 9์ผ
0

BOJ ๋ฌธ์ œํ’€์ด

๋ชฉ๋ก ๋ณด๊ธฐ
107/133
post-thumbnail

๐Ÿ”—

ํ’€์ด

์œ„์ƒ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ์ธ๋ฐ ๋จผ์ € ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ๋ฌธ์ œ๋“ค ์ค‘์—์„œ ๊ฐ€์žฅ ์‰ฌ์šด ๋ฌธ์ œ(์ˆซ์ž๊ฐ€ ๋‚ฎ์€ ๋ฌธ์ œ)๋ถ€ํ„ฐ ํ’€์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ œ๋“ค์„ ๋‹ด์„ ๋•Œ ํ๋ฅผ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ๋งค๋ฒˆ ์ •๋ ฌํ•˜๋Š” ๋Œ€์‹  ๋งค๋ฒˆ ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค.

import java.io.*;
import java.util.*;

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

        int A;
        int B;
        List<List<Integer>> workbook = new ArrayList<>();
        int[] priority = new int[N+1];
        for (int i = 0; i <= N; i++) {
            workbook.add(new ArrayList<>());
        }

        for (int i = 0; i < M; i++) {
            st = new StringTokenizer(br.readLine());
            A = Integer.parseInt(st.nextToken());
            B = Integer.parseInt(st.nextToken());
            priority[B]++;
            workbook.get(A).add(B);
        }

        PriorityQueue<Integer> pq = new PriorityQueue<>();
        for (int i = 1; i <= N; i++) {
            if (priority[i] == 0) {
                pq.add(i);
            }
        }
        
        StringBuilder sb = new StringBuilder();
        while (!pq.isEmpty()) {
            int problem = pq.poll();
            
            sb.append(problem + " ");
            for (int nextProblem : workbook.get(problem)) {
                priority[nextProblem]--;
                if (priority[nextProblem] == 0) {
                    pq.add(nextProblem);
                }
            }
        }
        System.out.println(sb);
    }
}
profile
์•„๋ฌด๋ง์ด๋‚˜ํ•˜๊ธฐ

0๊ฐœ์˜ ๋Œ“๊ธ€