공부/알고리즘 문제
[프로그래머스] 가장 먼 노드
_eun
2020. 12. 11. 04:48
programmers.co.kr/learn/courses/30/lessons/49189?language=python3
코딩테스트 연습 - 가장 먼 노드
6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3
programmers.co.kr
from collections import defaultdict, deque
def bfs(depth, node, graph, visited, distance):
visited[node] = True
queue = deque([node])
distance[node] = 1
while queue:
v = queue.popleft()
for i in graph[v]:
if not visited[i]:
visited[i] = True
queue.append(i)
distance[i] = distance[v]+1
return distance
def solution(n, edge):
graph = defaultdict(set)
visited = [False]*(n+1)
distance = [0]*(n+1)
for a, b in edge:
graph[a].add(b)
graph[b].add(a)
result = bfs(1, 1, graph, visited, distance)
return result.count(max(result))
solution(6, [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]])
728x90