dev_eun
[프로그래머스] 가장 먼 노드 본문
programmers.co.kr/learn/courses/30/lessons/49189?language=python3
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
'공부 > 알고리즘 문제' 카테고리의 다른 글
[프로그래머스] 기능개발 c++, javascript (0) | 2021.04.29 |
---|---|
[프로그래머스] 순위 (0) | 2020.12.11 |
[백준] BOJ 1937번 욕심쟁이 판다 (0) | 2020.12.11 |
[프로그래머스] 다리를 지나는 트럭 (0) | 2020.12.10 |
[프로그래머스] 기능 개발 (0) | 2020.12.10 |