honey_pot
[Python] 가장 먼 노드 본문
https://school.programmers.co.kr/learn/courses/30/lessons/49189
큐를 이용한 bfs 문제
q에 있는 노드들을 방문한 뒤 가장 마지막에 남는 노드들 즉, 1에서 가장 먼 리프노드들을 출력한다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
from collections import defaultdict, deque
def solution(n, edge):
visited = [-1]*n
dic = defaultdict(list)
for e in edge:
dic[e[0]].append(e[1])
dic[e[1]].append(e[0])
q = deque()
q.append(1)
visited[0] = 1
while q:
nodes = len(q)
for _ in range(nodes):
cur = q.popleft()
for c in dic[cur]:
if visited[c-1] == -1:
visited[c-1] = 0
q.append(c)
return nodes
|
cs |
'문제 풀이' 카테고리의 다른 글
[python] 입국심사 (0) | 2022.09.30 |
---|---|
[python] 디스크 컨트롤러 (0) | 2022.09.29 |
[Python] 섬 연결하기 (0) | 2022.09.28 |
[Python] 보석 쇼핑 (1) | 2022.09.23 |
[Python] 불량 사용자 (0) | 2022.09.23 |
Comments