[BOJ, Python] 2252번_줄 세우기 With 위상 정렬
·
Algorithm/Algorithm
이 글은 Velog에서 이전한 글입니다. Velog 원문 보기백준_2252번문제 설명N명의 학생들을 키 순서대로 줄을 세우려 한다. 학생 A가 학생 B보다 앞에 서야 한다는 M개의 키 비교 정보가 주어질 때, 올바른 줄 세우기 결과를 출력하라.학생 번호는 1번부터 N번까지.답이 여러 가지인 경우 아무거나 출력 가능.알고리즘: 위상 정렬 (Topological Sort)방향 그래프로 간선을 구성: A → B진입 차수(in-degree)를 기록하고, 진입 차수가 0인 노드부터 출력큐(BFS)를 이용해 순차적으로 정렬논리 흐름학생 번호를 정점으로 간주A → B 형태의 간선 구성진입 차수가 0인 노드를 큐에 삽입큐에서 꺼내면서 인접한 노드들의 진입 차수를 감소시키고, 0이 되면 다시 큐에 삽입모든 정점을 방문할..