-코드
from collections import deque
def bfs(X, Y):
queue = deque([[X, Y]])
move_x, move_y = [-1, 1, 0, 0], [0, 0, -1, 1]
while queue:
a, b = queue.popleft()
for i in range(4):
moved_x = a + move_x[i]
moved_y = b + move_y[i]
if 0 <= moved_x < n and 0 <= moved_y < m and graph[moved_x][moved_y] == 1:
graph[moved_x][moved_y] = 0
queue.append([moved_x, moved_y])
for _ in range(int(input())):
m, n, k = map(int, input().split())
graph = [[0] * m for i in range(n)]
cnt = 0
for _ in range(k):
x, y = map(int, input().split())
graph[y][x] = 1
for i in range(n):
for j in range(m):
if graph[i][j] == 1:
bfs(i, j)
graph[i][j] = 0
cnt += 1
print(cnt)
배추 흰 지렁이 주위를 0으로 만들면 되는 것을 한참 뒤에 이해를 해서 좀 더 걸렸고 4개만 0으로 만들면 되어서 for문을 안 쓰고 만들려고 했으나 해결이 되지 않아 검색을 해보니 리스트를 만들면 해결하면 간단히 해결이 되었습니다. 또한 범범위 문제와 if문을 잘못 설정하여 틀렸었습니다. bfs가 이해정도가 얕아서 응용이 잘 안 되는 것 같아 더 풀어 봐야겠습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 24082번 立方体 (Cube) (0) | 2022.01.12 |
---|---|
[백준/파이썬] 24078번 余り (Remainder) (0) | 2022.01.12 |
[백준/파이썬] 24086번 身長 (Height) (0) | 2022.01.11 |
[백준/파이썬] 11724번 연결 요소의 개수 (0) | 2022.01.10 |
[백준/파이썬] 2979번 트럭 주차 (0) | 2022.01.10 |