선수과목
-
[Python] 백준 14567 선수과목알고리즘/문제풀이 2021. 12. 15. 17:31
1. 문제 링크 https://www.acmicpc.net/problem/14567 14567번: 선수과목 (Prerequisite) 3개의 과목이 있고, 2번 과목을 이수하기 위해서는 1번 과목을 이수해야 하고, 3번 과목을 이수하기 위해서는 2번 과목을 이수해야 한다. www.acmicpc.net 2. 문제 요약 1번 과목부터 N번 과목까지 차례대로 최소 몇 학기에 이수할 수 있는지 출력한다. 3. 아이디어 정리 위상 정렬 진입 차수가 0인 모든 노드에 큐 넣기 큐가 빌 때까지 반복 큐에서 원소를 꺼내 나가는 간선 제거 새롭게 진입차수가 0이 된 노드에 큐 넣기 & 결과 넣기(최소 이수 학기, 현재 노드 결과 + 1) 4. 문제 풀이 4-1. 내풀이 import sys from collections ..