반응형
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/49189#qna
2. 풀이
bfs
3. 구현
from collections import deque
def solution(n, edge):
answer = 0
dic={}
for s,e in edge:
if s in dic:
dic[s].append(e)
else:
dic[s]=[e]
if e in dic:
dic[e].append(s)
else:
dic[e]=[s]
q=deque()
visit = {}
dist=0
q.append((dist, 1))
visit[1]=True
lis = []
while q:
cur = q.popleft()
d = cur[0]
n = cur[1]
for iter in dic[n]:
if iter in visit:
continue
lis.append((d+1,iter))
q.append((d+1,iter))
visit[iter]=True
lis = sorted(lis, reverse=True)
print(lis)
for item in lis:
if item[0]==lis[0][0]:
answer+=1
return answer
반응형
'PS > 프로그래머스' 카테고리의 다른 글
프로그래머스 순위검색 파이썬 (0) | 2021.08.14 |
---|---|
프로그래머스: 순위 python, 파이썬 (0) | 2021.07.03 |
프로그래머스: 네트워크 (python, 파이썬) (0) | 2021.07.02 |
[미완] 프로그래머스: 여행경로 ( python, 파이썬 ) (0) | 2021.07.02 |
프로그래머스: 단어변환 (python, 파이썬 ) (0) | 2021.07.02 |
댓글