Haribo ML, AI, MATH, Algorithm

가장 먼 노드

2021-01-24
Haribo

가장 먼 노드

from collections import defaultdict
def solution(n, edge):
    graph = defaultdict(list)
    for v1, v2 in edge :
        graph[v1].append(v2)
        graph[v2].append(v1)
    visited = [0, 1] + [0]*(len(graph)-1) # 0번 index는 버리고 1번 index부터 방문 확인
    que = graph[1]
    depth = 0
    while que :
        for _ in range(len(que)) :
            child = que.pop(0)
            if not visited[child] :
                visited[child] =  depth + 1
                que.extend(graph[child])
        depth += 1
    return visited.count(depth-1)

풀이

BFS 알고리즘으로 각 노드의 levelvisited에 저장해 주고 최대값의 갯수를 count


Similar Posts

이전 포스트 풍선 터트리기

다음 포스트 디스크 컨트롤러

Comments