[프로그래머스] 가장 먼 노드 (그래프, BFS)
사용 언어: Python3
문제
풀이
내 풀이
from collections import deque
def solution(n, edge):
G = [[] for _ in range(n)] # 인접행렬 그래프
for src, dst in edge: # 양방향
G[src-1].append(dst-1)
G[dst-1].append(src-1)
visited, dist = [0] * n, [0] * n
q = deque([0]) # 생성과 동시에 초기화
visited[0] = 1
while q:
cur = q.popleft()
for x in G[cur]:
if visited[x]:
continue
visited[x] = 1
dist[x] = dist[cur] + 1
q.append(x)
return dist.count(max(dist))
- 정답!
💛 개인 공부 기록용 블로그입니다. 👻