programmers.co.kr/learn/courses/30/lessons/49189
from collections import deque
def solution(n, edges):
visited=[False]*(n+1)
answer=[int(1e9)]*(n+1)
info=[[] for _ in range(n+1)]
for edge in edges:
info[edge[0]].append(edge[1])
info[edge[1]].append(edge[0])
def bfs(v):
q=deque()
count=1
visited[v]=True
answer[v]=0
for a in info[v]:
q.append((a,count))
while q:
a,cnt=q.popleft()
if visited[a]==True:
continue
else:
visited[a]=True
answer[a]=min(answer[a],cnt)
for i in info[a]:
q.append((i,cnt+1))
bfs(1)
max_v=max(answer[1:])
max_count=answer.count(max_v)
return max_count
'코딩 테스트 > 문제 풀기' 카테고리의 다른 글
[프로그래머스] 섬 연결하기 (0) | 2021.04.30 |
---|---|
[프로그래머스] 단속카메라 (0) | 2021.04.28 |
[프로그래머스] 정수삼각형 (0) | 2021.04.27 |
[프로그래머스] 디스크 컨트롤러 (0) | 2021.04.20 |
[프로그래머스] 단어 변환 (0) | 2021.04.19 |
댓글