title: "[프로그래머스] 가장 먼 노드 Python 파이썬 해설 (Level 3) - 이도훈"
cleanUrl: "programmers/49189"
description: "프로그래머스 Level 3 문제 [가장 먼 노드]의 풀이를 정리합니다."
from collections import deque, defaultdict, Counter
def solution(n, edge):
A = defaultdict(list)
for u, v in edge:
A[u].append(v)
A[v].append(u)
distcnt = Counter()
visited = [True] + [False] * n
q = deque()
q.append((1, 0)) # u, dist
visited[1] = True
distcnt[0] += 1
while len(q) > 0:
u, d = q.popleft()
for v in A[u]:
if visited[v]:
continue
q.append((v, d+1))
distcnt[d+1] += 1
visited[v] = True
return distcnt[max(distcnt.keys())]
프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges