본문 바로가기

알고리즘/프로그래머스(Python)

그래프 - 가장 먼 노드 / 파이썬

from collections import deque

def bfs(n, adj):
    q = deque()
    q.append([1, 0])
    ck = [0] * n
    while q:
        cnt, nod = q.popleft()
        if ck[nod] == 0:
            ck[nod] = cnt
            cnt += 1
            for a in adj[nod]:
                q.append([cnt, a])
    ret = 0
    for c in ck:
        if c == max(ck):
            ret += 1
    return ret

def solution(n, edge):
    adj = [[] for _ in range(n)]
    for e in edge:
        x = e[0]-1
        y = e[1]-1
        adj[x].append(y)
        adj[y].append(x)
    return bfs(n, adj)

 

 

programmers.co.kr/learn/courses/30/lessons/49189

 

코딩테스트 연습 - 가장 먼 노드

6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3

programmers.co.kr