supergravity
파이썬 - 재귀 초과? 왜? 본문
초과 할일이 없느데?
def solution(game_board, table):
width = len(table)
blocks = []
for i in range(width):
for j in range(width):
block = []
if table[i][j] == 1:
dfs(table,i,j,block)
blocks.append(block)
print(blocks)
answer = -1
return answer
# make block list
def dfs(table, i, j, block):
table[i][j] == 0
block.append((i,j))
adj_list = adj(table, i, j)
for adj_ele in adj_list:
dfs(table, adj_ele[0], adj_ele[1], block)
def adj(table,i,j):
adj_list = []
width = len(table)
if i !=0 and table[i-1][j] == 1:
adj_list.append((i-1,j))
if i+1 != width and table[i+1][j] == 1:
adj_list.append((i+1,j))
if j != 0 and table[i][j-1] == 1:
adj_list.append((i,j-1))
if j+1 != width and table[i][j+1]:
adj_list.append((i,j+1))
return adj_list
1. 오타 : dfs정의 바로아래 table[i][j] == 0이 아니라 =0
2. 오타 : adj 마지막 if에서 table[i][j+1] == 1이어야함
'개발중 기억해야 할만한 것들 > 파이썬' 카테고리의 다른 글
파이썬 - 스트링 파싱 (0) | 2021.08.26 |
---|---|
파이썬 - 문자열체크 정규식 (x) (0) | 2021.08.24 |
파이썬 - 재귀함수 return none (0) | 2021.08.17 |
파이썬 - 재귀에서 return 이랑 아닌거 차이 (0) | 2021.08.13 |
파이썬 기본 (2) | 2021.03.07 |
Comments