-Code
import sys
sys.setrecursionlimit(10**6)
def solution(li, x, y):
dx = [-1, -1, -1, 0, 0, 0, 1, 1, 1]
dy = [-1, 0, 1, -1, 0, 1, -1, 0, 1]
for i in range(9):
mx = x + dx[i]
my = y + dy[i]
if 0 <= mx < h and 0 <= my < w:
if li[mx][my] == 1:
li[mx][my] = 0
solution(li, mx, my)
while 1:
w, h = map(int, input().split())
if w == h == 0:
break
arr = [list(map(int, input().split())) for _ in range(h)]
cnt = 0
for i in range(h):
for j in range(w):
if arr[i][j] == 1:
cnt += 1
solution(arr, i, j)
print(cnt)
recursion오류가 생겨서 sys로 해결을 해주었습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 21275번 폰 호석만 (0) | 2022.05.23 |
---|---|
[백준/파이썬] 9663번 N-Queen (0) | 2022.05.22 |
[백준/파이썬] 17451번 평행 우주 (0) | 2022.05.20 |
[백준/파이썬] 15810번 풍선 공장 (0) | 2022.05.20 |
[백준/파이썬] 2792번 보석 상자 (0) | 2022.05.20 |