
[BOJ][Java] 2252번 줄 세우기
·
PS
문제 링크 : https://www.acmicpc.net/problem/2252 이 문제에서는 출력 조건에 답이 여러 가지인 경우에는 아무거나 출력한다는 것을 보고위상정렬 알고리즘을 사용한다는 것을 유추해 내면 이후에는 단순 알고리즘 구현문제로 바뀌게 된다. 먼저 위상정렬을 사용하려면 진입 차수에 대해 알아야 한다.진입 차수란 그래프로 표현했을때 자신에게 들어오는 간선의 개수이다.예제 입력 1번을 예로 살펴보면d (진입 차수 배열), List (인접 리스트)로 표현할 수 있다. 이때 위상정렬 알고리즘을 사용하려면 아래와 같이 하면 된다.Queue에는 진입 차수가 0인 정점들을 채워준다.이후 q에서 하나씩 빼면서 해당 정점을 출력해주고해당 정점과 인접한 정점의 진입 차수를 하나씩 빼준다. 1번 예제에서는 ..