(LeetCode)200. 섬의 개수

문제

Number of Islands - LeetCode

아이디어

  • dfs를 활용

코드

class Solution:
    def numIslands(self, grid: List[List[str]]) -> int:
        def dfs(i, j):
            if i<0 or i>=len(grid) or j<0 or j>= len(grid[0]) or grid[i][j] != '1':
                return

            grid[i][j] = 0

            # 동서남북 탐색
            dfs(i+1, j)
            dfs(i-1, j)
            dfs(i, j+1)
            dfs(i, j-1)

        count=0
        for i in range(len(grid)):
            for j in range(len(grid[0])):
                if grid[i][j] == '1':
                    dfs(i,j)
                    # 모든 육지 탐색 후 카운트 1증가
                    count+=1
        return count

배운점

  • dfs를 활용하는 기본문제
  • 손코딩으로도 자주나오는 문제라고하니 풀이법을 잘 알아둘것