Agorithm/프로그래머스
프로그래머스 Level 2 가장 먼 노드
kimjinho1
2022. 6. 29. 16:10
728x90
반응형
거리와 탐색 관련된 문제이기 때문에 BFS를 사용해서 풀었다.
BFS 풀이
마지막에 check_li.count(max(check_li))로 한 번에 제일 먼 노드의 개수를 구할 수 있다.
from collections import deque
def solution(N, edge):
graph = [[] for _ in range(N+1)]
q = deque([1])
check_li = [-1]*(N+1)
check_li[1] = 0
for s, e in edge:
graph[s].append(e)
graph[e].append(s)
while q:
node = q.popleft()
for n in graph[node]:
if check_li[n] == -1:
q.append(n)
check_li[n] = check_li[node] + 1
return check_li.count(max(check_li))
728x90
반응형