Written by
최태열
on
on
[Python][프로그래머스][Level3] 가장 먼 노드
[Python][프로그래머스][Level3] 가장 먼 노드
코드
import queue
def solution(n, edge):
board=[[] for _ in range(n+1)]
for x, y in edge:
board[x].append(y)
board[y].append(x)
answer=[0]*(n+1)
q=queue.Queue()
q.put(1)
while q.qsize():
ck=q.get()
for i in board[ck]:
if answer[i]==0:
answer[i]+=answer[ck]+1
q.put(i)
return answer[2:].count(max(answer[2:]))
그래프와 bfs로 풀었다.
1번 노드에서부터 갈 수 있는 모든 노드를 방문하고
그 다음 노드부터 방문하지 않은 노드를 방문하고 값을 부여한다.
그렇게 값이 가장 큰 노드를 구하고 갯수를 세면 된다.
Discussion and feedback