가장 먼 노드
from collections import defaultdict
def solution(n, edge):
graph = defaultdict(list)
for v1, v2 in edge :
graph[v1].append(v2)
graph[v2].append(v1)
visited = [0, 1] + [0]*(len(graph)-1) # 0번 index는 버리고 1번 index부터 방문 확인
que = graph[1]
depth = 0
while que :
for _ in range(len(que)) :
child = que.pop(0)
if not visited[child] :
visited[child] = depth + 1
que.extend(graph[child])
depth += 1
return visited.count(depth-1)
풀이
BFS
알고리즘으로 각 노드의level
을visited
에 저장해 주고 최대값의 갯수를count