[[Leetcode] 200. Number of Islands]
์ก์ง(1)์ ๋ฐ๋ค(0)๋ก ์ด๋ฃจ์ด์ง m * n ํ ์ด๋ธ์์ ์กด์ฌํ๋ ์ฌ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ๋ค.
class Solution:
def numIslands(self, grid: List[List[str]]) -> int:
def findNext(x, y):
grid[y][x] = '0'
if y-1 >= 0 and grid[y-1][x] == '1':
findNext(x, y-1)
if len(grid) > y+1 and grid[y+1][x] == '1':
findNext(x, y+1)
if x-1 >= 0 and grid[y][x-1] == '1':
findNext(x-1, y)
if len(grid[0]) > x+1 and grid[y][x+1] == '1':
findNext(x+1, y)
count = 0
for y in range(len(grid)):
for x in range(len(grid[0])):
if grid[y][x] == '1':
findNext(x, y)
count += 1
return count
count
๋ฅผ 1 ์ฆ๊ฐ์ํจ๋ค.