728x90

나의 풀이
from collections import deque
def solution(n, edge):
graph = [[] for _ in range(n)]
answer, prev = 1, 0
queue = deque([0])
visited = set()
depth = [0 for _ in range(n)]
for i, j in edge:
graph[i - 1].append(j - 1)
graph[j - 1].append(i - 1)
while queue:
node = queue.popleft()
visited.add(node)
for v in graph[node]:
if v not in visited:
if not depth[v]:
depth[v] = depth[node] + 1
queue.append(v)
for d in depth:
if prev < d:
prev = d
answer = 1
elif prev == d:
answer += 1
return answer
- 시간 초과 때문에 애먹음
- list에서 in 연산과 set 에서 in 연산의 차이가 많이 난다.
- visited를 list에서 set 으로 바꾸니 해결
반응형
'Coding Test > Programmers' 카테고리의 다른 글
| [프로그래머스/파이썬] 방의 개수 (0) | 2022.06.09 |
|---|---|
| [프로그래머스/파이썬] 순위 (0) | 2022.06.09 |
| [프로그래머스/파이썬] 징검다리 (0) | 2022.06.09 |
| [프로그래머스/파이썬] 입국심사 (0) | 2022.06.08 |
| [프로그래머스/파이썬] 여행경로 (0) | 2022.06.08 |