-코드
from collections import deque
from sys import stdin
def bfs(start):
queue = deque([start])
visited[start] = True
while queue:
start = queue.popleft()
for i in range(1, n + 1):
if not visited[i] and graph[start][i] == 1:
queue.append(i)
visited[i] = True
n, m = map(int, stdin.readline().split())
graph = [[0] * (n + 1) for _ in range(n + 1)]
visited = [False] * (n + 1)
for _ in range(m):
u, v = map(int, stdin.readline().split())
graph[u][v] = 1
graph[v][u] = 1
c = 0
for j in range(1, n + 1):
if not visited[j]:
bfs(j)
c += 1
print(c)
전에 풀었던 bfs, dfs문제와 비슷해서 풀어보았습니다. 하지만 아직 이 분야에 대해서 익숙하지가 않아서 시간이 많이 걸리고 쉬운 부분에서 헤매서 더 많이 풀어봐야겠다고 생각을 했습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 1012번 유기농 배추 (0) | 2022.01.11 |
---|---|
[백준/파이썬] 24086번 身長 (Height) (0) | 2022.01.11 |
[백준/파이썬] 2979번 트럭 주차 (0) | 2022.01.10 |
[프로그래머스/파이썬] 하샤드 수 (0) | 2022.01.09 |
[프로그래머스/파이썬] 내적 (0) | 2022.01.09 |