Python/알고리즘
[python] 이것이 취업을 위한 코딩테스트다 DFS - 음료수 얼려먹기
TheWing
2020. 11. 12. 01:14
n, m = 4, 5
edges = [
[0, 0, 1, 1, 0],
[0, 0, 0, 1, 1],
[1, 1, 1, 1, 1],
[0, 0, 0, 0, 0]
]
visited = [[[False] * 5] * 4]
def dfs(x, y):
if x < 0 or x >= n or y < 0 or y >= m:
return False
if edges[x][y] == 0:
edges[x][y] = 1
dfs(x - 1, y)
dfs(x, y - 1)
dfs(x + 1, y)
dfs(x, y + 1)
return True
return False
cnt = 0
for i in range(n):
for j in range(m):
if dfs(i, j):
cnt += 1
print(cnt)
Reference
- 해당 포스팅은 이것이 취업을 위한 코딩테스트다 책을 보고 풀이 해본 것입니다. 지적사항 있으시면 댓글 남겨주시면 감사하겠습니다.