*문제 출처는 백준에 있습니다.
문제 제목: 바이러스 / 2606번 (실버 3단계)
문제 사이트: https://www.acmicpc.net/problem/2606
문제 설명
나의 풀이
from collections import deque
def bfs(graph, start, visited):
q = deque([start])
visited[start] = True
while q:
x = q.popleft()
for i in range(len(graph[x])):
y = graph[x][i]
if not visited[y]:
q.append(y)
visited[y] = True
# 자기 자신은 제외해야함
return visited.count(True) - 1
N = int(input())
M = int(input())
graph = [[] for _ in range(N + 1)]
visited = [False] * (N + 1)
for _ in range(M):
start, end = map(int, input().split())
graph[start].append(end)
graph[end].append(start)
print(bfs(graph, 1, visited))
※ 알아야 할 것
https://newkimjiwon.tistory.com/77
'코딩테스트(프로그래머스 & 백준) > 백준-Python' 카테고리의 다른 글
백준 / RGB거리 / 1149번 / Python (0) | 2024.09.12 |
---|---|
백준 / N과 M (5) / 15654번 / Python (0) | 2024.09.11 |
백준 / 아기 상어 / 16236번 / Python (1) | 2024.09.06 |
백준 / 평범한 배낭 / 12865번 / Python (0) | 2024.09.05 |
백준 / 오큰수 / 17298번 / Python (0) | 2024.09.04 |