Skip to content

Commit abc4239

Browse files
authored
Update 6.py
1 parent 1cfd39a commit abc4239

File tree

1 file changed

+24
-27
lines changed

1 file changed

+24
-27
lines changed

10/6.py

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,35 +9,32 @@
99

1010
# 방향 그래프의 모든 간선 정보를 입력 받기
1111
for _ in range(e):
12-
a, b = map(int, input().split())
13-
graph[a].append(b) # 정점 A에서 B로 이동 가능
14-
# 진입 차수를 1 증가
15-
indegree[b] += 1
12+
a, b = map(int, input().split())
13+
graph[a].append(b) # 정점 A에서 B로 이동 가능
14+
# 진입 차수를 1 증가
15+
indegree[b] += 1
1616

1717
# 위상 정렬 함수
1818
def topology_sort():
19-
result = [] # 알고리즘 수행 결과를 담을 리스트
20-
q = deque() # 큐 기능을 위한 deque 라이브러리 사용
21-
22-
# 처음 시작할 때는 진입차수가 0인 노드를 큐에 삽입
23-
for i in range(1, v + 1):
24-
if indegree[i] == 0:
25-
q.append(i)
26-
27-
# 큐가 빌 때까지 반복
28-
while q:
29-
# 큐에서 원소 꺼내기
30-
now = q.popleft()
31-
result.append(now)
32-
# 해당 원소와 연결된 노드들의 진입차수에서 1 빼기
33-
for i in graph[now]:
34-
indegree[i] -= 1
35-
# 새롭게 진입차수가 0이 되는 노드를 큐에 삽입
36-
if indegree[i] == 0:
37-
q.append(i)
38-
39-
# 위상 정렬을 수행한 결과 출력
40-
for i in result:
41-
print(i, end=' ')
19+
result = [] # 알고리즘 수행 결과를 담을 리스트
20+
q = deque() # 큐 기능을 위한 deque 라이브러리 사용
21+
# 처음 시작할 때는 진입차수가 0인 노드를 큐에 삽입
22+
for i in range(1, v + 1):
23+
if indegree[i] == 0:
24+
q.append(i)
25+
# 큐가 빌 때까지 반복
26+
while q:
27+
# 큐에서 원소 꺼내기
28+
now = q.popleft()
29+
result.append(now)
30+
# 해당 원소와 연결된 노드들의 진입차수에서 1 빼기
31+
for i in graph[now]:
32+
indegree[i] -= 1
33+
# 새롭게 진입차수가 0이 되는 노드를 큐에 삽입
34+
if indegree[i] == 0:
35+
q.append(i)
36+
# 위상 정렬을 수행한 결과 출력
37+
for i in result:
38+
print(i, end=' ')
4239

4340
topology_sort()

0 commit comments

Comments
 (0)