본문 바로가기
알고리즘/소스코드

PROGRAMMERS 49189: 가장 먼 노드

by cjw.git 2021. 7. 27.

Link : https://programmers.co.kr/learn/courses/30/lessons/49189


Python

더보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from collections import deque
 
INF = int(1e9)
 
 
def solution(n, edge):
    graph = [[] for _ in range(n)]
    que = deque()
    distance = [INF for _ in range(n)]
    visited = [False for _ in range(n)]
    for s, e in edge:
        s -= 1;
        e -= 1
        graph[s].append(e)
        graph[e].append(s)
 
    que.append((00))  # now_pos, now_stack
    while len(que):
        s, ns = que.popleft()
        if visited[s]:
            continue
        visited[s] = True
        for e in graph[s]:
            
            if ns + 1 > distance[e]:
                continue
            distance[e] = ns + 1
            que.append((e, ns + 1))
    distance.pop(0)
    max_dist = max(distance)
 
    return distance.count(max_dist)
cs

FeedBack

  1.  

 

 

 

cjw.git@gmail.com

댓글