Menu
CoddyTech

Number of Islands

보통그래프python iconjava iconcpp iconc iconjs icon+10

길이가 같은 문자열의 목록으로 지도를 받습니다. 여기서 '1'은 땅의 칸이고 '0'은 물의 칸입니다. 두 땅의 칸이 위, 아래, 왼쪽 또는 오른쪽으로 변을 공유하면 같은 섬에 속합니다. 모서리에서만 만나는 칸은 연결된 것으로 보지 않습니다. 섬의 개수를 반환하세요.

함수

numIslands(grid: string-array) → integer
gridstring-array
맵, 행마다 문자열 하나씩
반환값integer
섬의 개수

제약 조건

  • 1 ≤ grid.length ≤ 150
  • 1 ≤ grid[i].length ≤ 150
  • 모든 행의 길이는 같습니다.
  • 모든 문자는 '0' 또는 '1'입니다.

예제

입력
grid = ["11000", "11000", "00100", "00011"]
출력
3
설명
왼쪽 위의 네 개의 정사각형은 하나의 섬을 이룹니다. 세 번째 행의 가운데 정사각형은 모서리에서만 이들과 맞닿아 있으므로 두 번째 섬입니다. 오른쪽 아래의 한 쌍은 세 번째 섬입니다.
challenge icon

후속 질문

이제 물 지도에 육지가 한 칸씩 나타납니다. 지도를 처음부터 다시 훑지 않고도 새 칸이 추가될 때마다 섬의 개수를 보고할 수 있나요?

코드 초기화
def numIslands(grid):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

인자

grid = ["11000", "11000", "00100", "00011"]

예상 출력

3