From 8e8ce1cefe567ceb653718496d3da93cbee91c56 Mon Sep 17 00:00:00 2001 From: yejin Date: Mon, 1 Sep 2025 21:21:31 +0900 Subject: [PATCH 1/3] number of islands solution --- number-of-islands/devyejin.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 number-of-islands/devyejin.py diff --git a/number-of-islands/devyejin.py b/number-of-islands/devyejin.py new file mode 100644 index 000000000..997bf1cbf --- /dev/null +++ b/number-of-islands/devyejin.py @@ -0,0 +1,31 @@ +from collections import deque +from typing import List + +class Solution: + def numIslands(self, grid: List[List[str]]) -> int: + def bfs(x, y): + queue = deque([(x, y)]) + grid[x][y] = "0" + + while queue: + r, c = queue.popleft() + + for d in range(4): + nr, nc = r + dr[d], c + dc[d] + if 0 <= nr < n and 0 <= nc < m and grid[nr][nc] == "1": + grid[nr][nc] = "0" + queue.append((nr, nc)) + + n, m = len(grid), len(grid[0]) + + dr = (-1, 1, 0, 0) + dc = (0, 0, -1, 1) + + result = 0 + for r in range(n): + for c in range(m): + if grid[r][c] == '1': + bfs(r, c) + result += 1 + + return result From 2b712d7bdc7ed91af02773f5d1b9babc9df2f5db Mon Sep 17 00:00:00 2001 From: yejin Date: Wed, 3 Sep 2025 00:18:14 +0900 Subject: [PATCH 2/3] set matrix zeroes solution --- set-matrix-zeroes/devyejin.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 set-matrix-zeroes/devyejin.py diff --git a/set-matrix-zeroes/devyejin.py b/set-matrix-zeroes/devyejin.py new file mode 100644 index 000000000..abb2460e7 --- /dev/null +++ b/set-matrix-zeroes/devyejin.py @@ -0,0 +1,20 @@ +from typing import List +class Solution: + def setZeroes(self, matrix: List[List[int]]) -> None: + """ + Do not return anything, modify matrix in-place instead. + """ + n, m = len(matrix), len(matrix[0]) + rows, cols = set(), set() + + for r in range(n): + for c in range(m): + if matrix[r][c] == 0: + rows.add(r) + cols.add(c) + + for r in range(n): + for c in range(m): + if r in rows or c in cols: + matrix[r][c] = 0 + From 72668e7fb04755b813110082c87df4327dc6e5e3 Mon Sep 17 00:00:00 2001 From: yejin Date: Mon, 8 Sep 2025 00:11:02 +0900 Subject: [PATCH 3/3] unique paths solution --- unique-paths/devyejin.py | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 unique-paths/devyejin.py diff --git a/unique-paths/devyejin.py b/unique-paths/devyejin.py new file mode 100644 index 000000000..5b58bdfa3 --- /dev/null +++ b/unique-paths/devyejin.py @@ -0,0 +1,11 @@ +# 시간 복잡도 O(mn), 공간복잡도 O(mn) +class Solution: + def uniquePaths(self, m: int, n: int) -> int: + dp = [[1] * n for _ in range(m)] + + for i in range(1, m): + for j in range(1, n): + dp[i][j] = dp[i - 1][j] + dp[i][j - 1] + + return dp[m - 1][n - 1] +