프로그래밍/HackerRank
[HackerRank][Python3] DFS: Connected Cell in a Grid
snoopybox
2018. 7. 21. 21:12
Problem :
https://www.hackerrank.com/challenges/ctci-connected-cell-in-a-grid/problem
My Solution :
#!/usr/bin/env python3 def dfs(grid, x, y): if x not in range(len(grid)) or y not in range(len(grid[0])): return 0 if not grid[x][y]: return 0 count = 1 grid[x][y] = 0 count += dfs(grid, x+1, y+1) count += dfs(grid, x+1, y) count += dfs(grid, x+1, y-1) count += dfs(grid, x, y+1) count += dfs(grid, x, y-1) count += dfs(grid, x-1, y+1) count += dfs(grid, x-1, y) count += dfs(grid, x-1, y-1) return count def maxRegion(grid): M = 0 for i in range(len(grid)): for j in range(len(grid[0])): M = max(M, dfs(grid, i, j)) return M n = int(input()) m = int(input()) grid = [] for _ in range(n): grid.append(list(map(int, input().rstrip().split()))) res = maxRegion(grid) print(res)