|
์ฝ๋ ์์ฑํ๊ธฐ
from collections import deque
def solution(n, edge):
q=deque()
graph=[[] for _ in range(n+1)]
distance=[-1]*(n+1)
for a, b in edge :
graph[a].append(b)
graph[b].append(a)
q.append(1)
distance[1]=0
while q :
node=q.popleft()
for next in graph[node] :
if(distance[next]==-1) :
distance[next]=distance[node]+1
q.append(next)
ans=max(distance)
return distance.count(ans)
Python
๋ณต์ฌ
|
์ฝ๋ ์ค๋ช
ํ๊ธฐ
1.
์ธ์ ๋ฆฌ์คํธ๋ก graph๋ฅผ ๋ง๋ค๊ณ ์ ์ 1์์๋ถํฐ ๊ฑฐ๋ฆฌ๋ฅผ ์ ์ฅํ distance ๋ฆฌ์คํธ๋ฅผ ๋ง๋ ๋ค.
2.
์ ์ 1์์๋ถํฐ ์์์ด๋ฏ๋ก q์ ์ ์ 1์ ์ฝ์
ํ๊ณ distance[1]์ 0์ผ๋ก ์ด๊ธฐํํ๋ค
3.
q์์ ๋งจ ์์ ์๋ ๋
ธ๋๋ฅผ ๊ฐ์ ธ์จ๋ค.
4.
ํด๋น ๋
ธ๋์ ์ฐ๊ฒฐ๋ ์ ์ ์ด ๋ฐฉ๋ฌธํ์ ์ด ์๋ค๋ฉด distance ๊ฐ์ ๊ฐฑ์ ํ๊ณ q์ ์ฐ๊ฒฐ๋ ์ ์ ์ ๋ฃ์ด์ค๋ค.
5.
q์ ์๋ฌด๊ฒ๋ ์์ ๋๊น์ง 3~4๋ฒ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
6.
distance๊ฐ ์ต๋๊ฐ์ธ ๋
ธ๋์ ๊ฐ์๋ฅผ ๋ฐํํ๋ค.