프로그래머스 가장 먼 노드 (파이썬, bfs)

728x90
반응형

vis배열을 -1로 초기화시키고 bfs를 돌며 vis가 -1인 원소들을 집어넣으며 현재 길이를 vis배열에 다시 집어넣는다

from collections import deque
def solution(n, edge):
    answer = 0
    vis=[-1]*(n+1)
    adj=[[] for _ in range(n+1)]
    for e in edge:
        adj[e[0]].append(e[1])
        adj[e[1]].append(e[0])
    q=deque([[1,0]])
    vis[1]=0
    while q:
        cur,cnt=q.popleft()
        for a in adj[cur]:
            if vis[a]!=-1: continue
            vis[a]=cnt+1
            q.append([a,vis[a]])
    
    return vis.count(max(vis))

 

728x90
반응형
TAGS.

Comments