Skip to content

Commit 2baf660

Browse files
committed
Add comments to Number of islands
1 parent 37d0b19 commit 2baf660

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

โ€Žnumber-of-islands/KwonNayeon.pyโ€Ž

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@
1313
- ์ตœ์•…์˜ ๊ฒฝ์šฐ(๋ชจ๋“  ์…€์ด '1'์ผ ๋•Œ) m * n ๋งŒํผ์˜ ์žฌ๊ท€ ํ˜ธ์ถœ ์Šคํƒ ์‚ฌ์šฉ
1414
1515
ํ’€์ด ๋ฐฉ๋ฒ•:
16-
1. 2์ค‘ for๋ฌธ์œผ๋กœ ๊ทธ๋ฆฌ๋“œ์˜ ๋ชจ๋“  ์…€์„ ์ˆœํšŒ
17-
2. '1'์„ ๋ฐœ๊ฒฌํ•˜๋ฉด DFS๋กœ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ๋•…์„ ๋ฐฉ๋ฌธํ•˜๊ณ  '0'์œผ๋กœ ํ‘œ์‹œ
18-
3. '1'์„ ๋ฐœ๊ฒฌํ•  ๋•Œ๋งˆ๋‹ค islands ์นด์šดํŠธ๋ฅผ 1์”ฉ ์ฆ๊ฐ€
16+
1. numIslands ๋ฉ”์„œ๋“œ: ๊ทธ๋ฆฌ๋“œ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ '1'์„ ์ฐพ๊ณ  ์„ฌ์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š” ์—ญํ• 
17+
2. visit_island ๋ฉ”์„œ๋“œ: ํ•˜๋‚˜์˜ ์„ฌ์„ ์™„์ „ํžˆ ํƒ์ƒ‰ํ•˜๊ณ  ๋ฐฉ๋ฌธํ•œ ๋•…์„ '0'์œผ๋กœ ๋ฐ”๊พธ๋Š” ์—ญํ• 
18+
3. ๋‘ ํ•จ์ˆ˜๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹:
19+
- numIslands๋Š” ์„ฌ์˜ ์‹œ์ž‘์ ('1')์„ ์ฐพ์•„ ์นด์šดํŠธ๋ฅผ ์ฆ๊ฐ€์‹œํ‚ด
20+
- visit_island๋Š” ์ฐพ์€ ์„ฌ์„ ์™„์ „ํžˆ ํƒ์ƒ‰ํ•˜๊ณ  ๋ฐฉ๋ฌธ ํ‘œ์‹œ('0'์œผ๋กœ ๋ณ€๊ฒฝ)
1921
"""
2022

2123
class Solution:
@@ -29,14 +31,17 @@ def numIslands(self, grid: List[List[str]]) -> int:
2931
return islands
3032

3133
def visit_island(self, grid, i, j):
34+
# base case: ์œ„์น˜๊ฐ€ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๊ฑฐ๋‚˜ '1'์ด ์•„๋‹ˆ๋ฉด ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒ
3235
if (i < 0 or i >= len(grid) or
3336
j < 0 or j >= len(grid[0]) or
3437
grid[i][j] != '1'):
3538
return
3639

40+
# ๋ฐฉ๋ฌธํ•œ ๋•…์„ '0'์œผ๋กœ ํ‘œ์‹œํ•˜์—ฌ ๋‹ค์‹œ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š๋„๋ก ํ•จ
3741
grid[i][j] = '0'
3842

39-
self.visit_island(grid, i+1, j) # ์œ„
40-
self.visit_island(grid, i-1, j) # ์•„๋ž˜
43+
# ๋„ค ๋ฐฉํ–ฅ(์•„๋ž˜, ์œ„, ์˜ค๋ฅธ์ชฝ, ์™ผ์ชฝ)์œผ๋กœ DFS ์žฌ๊ท€ ํ˜ธ์ถœ
44+
self.visit_island(grid, i+1, j) # ์•„๋ž˜
45+
self.visit_island(grid, i-1, j) # ์œ„
4146
self.visit_island(grid, i, j+1) # ์˜ค๋ฅธ์ชฝ
4247
self.visit_island(grid, i, j-1) # ์™ผ์ชฝ

0 commit comments

Comments
ย (0)