알고리즘
[LeetCode] 1020. Number of Enclaves
유병각
2022. 5. 31. 16:58
class Solution:
def numEnclaves(self, grid: List[List[int]]) -> int:
n = len(grid)
m = len(grid[0])
def dfs(r,c):
if (r < 0 or r >= n or c < 0 or c >= m or grid[r][c] == 0):
return ;
grid[r][c] = 0;
dfs(r+1,c)
dfs(r-1,c)
dfs(r,c+1)
dfs(r,c-1)
for i in range(n):
for k in range(m):
if ((i == 0 or i == n-1 or k == 0 or k == m - 1) and grid[i][k] == 1):
dfs(i,k);
cnt = 0;
for i in range(1, n-1):
for k in range(1, m-1):
if (grid[i][k] == 1):
cnt += 1;
return cnt