From 518d3552d92bc1239ecea9f1b931815e0539a2c1 Mon Sep 17 00:00:00 2001 From: SEONG JUN SHIN Date: Sat, 24 May 2025 17:35:02 +0900 Subject: [PATCH 1/2] feat: add week 09 problems --- linked-list-cycle/shinsj4653.py | 15 +++++ maximum-product-subarray/shinsj4653.py | 15 +++++ minimum-window-substring/shinsj4653.py | 15 +++++ pacific-atlantic-water-flow/shinsj4653.py | 71 +++++++++++++++++++++++ sum-of-two-integers/shinsj4653.py | 15 +++++ 5 files changed, 131 insertions(+) create mode 100644 linked-list-cycle/shinsj4653.py create mode 100644 maximum-product-subarray/shinsj4653.py create mode 100644 minimum-window-substring/shinsj4653.py create mode 100644 pacific-atlantic-water-flow/shinsj4653.py create mode 100644 sum-of-two-integers/shinsj4653.py diff --git a/linked-list-cycle/shinsj4653.py b/linked-list-cycle/shinsj4653.py new file mode 100644 index 000000000..f2dd9f373 --- /dev/null +++ b/linked-list-cycle/shinsj4653.py @@ -0,0 +1,15 @@ +""" +[문제풀이] +# Inputs + +# Outputs + +# Constraints + +# Ideas + +[회고] + +""" + + diff --git a/maximum-product-subarray/shinsj4653.py b/maximum-product-subarray/shinsj4653.py new file mode 100644 index 000000000..f2dd9f373 --- /dev/null +++ b/maximum-product-subarray/shinsj4653.py @@ -0,0 +1,15 @@ +""" +[문제풀이] +# Inputs + +# Outputs + +# Constraints + +# Ideas + +[회고] + +""" + + diff --git a/minimum-window-substring/shinsj4653.py b/minimum-window-substring/shinsj4653.py new file mode 100644 index 000000000..f2dd9f373 --- /dev/null +++ b/minimum-window-substring/shinsj4653.py @@ -0,0 +1,15 @@ +""" +[문제풀이] +# Inputs + +# Outputs + +# Constraints + +# Ideas + +[회고] + +""" + + diff --git a/pacific-atlantic-water-flow/shinsj4653.py b/pacific-atlantic-water-flow/shinsj4653.py new file mode 100644 index 000000000..bf962fbf3 --- /dev/null +++ b/pacific-atlantic-water-flow/shinsj4653.py @@ -0,0 +1,71 @@ +""" +[문제풀이] +# Inputs + +# Outputs + +# Constraints + +# Ideas + +[회고] + +""" + + +class Solution: + def pacificAtlantic(heights): + ret = [] + + dy = [-1, 0, 1, 0] + dx = [0, 1, 0, -1] + + n, m = len(heights), len(heights[0]) + + def isPacific(y, x): # pacific 도달 가능한지 + if y == 0 or (0 <= y < n and x == 0): + return True + + else: + return False + + def isAtlantic(y, x): # Atlantic 도달 가능한지 + if y == n - 1 or (0 <= y < n and x == m - 1): + return True + + else: + return False + + def inRange(y, x): + if 0 <= y < n and 0 <= x < m: + return True + else: + return False + + v = [[False for _ in range(m)] for _ in range(n)] + + def dfs(y, x, heights, v): + if isPacific(y, x) and isAtlantic(y, x): + return True + + v[y][x] = True + + for i in range(4): + ny, nx = y + dy[i], x + dx[i] + if inRange(ny, nx) and not v[ny][nx] and \ + heights[y][x] >= heights[ny][nx]: + if dfs(ny, nx, heights, v): + return True + + v[y][x] = False + return False + + for i in range(n): + for j in range(m): + if dfs(i, j, heights, v): + ret.append((i, j)) + + return ret + + pacificAtlantic([[1,2,2,3,5],[3,2,3,4,4],[2,4,5,3,1],[6,7,1,4,5],[5,1,1,2,4]]) + diff --git a/sum-of-two-integers/shinsj4653.py b/sum-of-two-integers/shinsj4653.py new file mode 100644 index 000000000..f2dd9f373 --- /dev/null +++ b/sum-of-two-integers/shinsj4653.py @@ -0,0 +1,15 @@ +""" +[문제풀이] +# Inputs + +# Outputs + +# Constraints + +# Ideas + +[회고] + +""" + + From 0ebdb0a4648b442dc93a1c5d187de3e378f62d4e Mon Sep 17 00:00:00 2001 From: SEONG JUN SHIN Date: Mon, 2 Jun 2025 19:51:53 +0900 Subject: [PATCH 2/2] feat: add week 10 problems --- course-schedule/shinsj4653.py | 15 +++++++++++++++ invert-binary-tree/shinsj4653.py | 15 +++++++++++++++ jump-game/shinsj4653.py | 15 +++++++++++++++ merge-k-sorted-lists/shinsj4653.py | 15 +++++++++++++++ search-in-rotated-sorted-array/shinsj4653.py | 15 +++++++++++++++ 5 files changed, 75 insertions(+) create mode 100644 course-schedule/shinsj4653.py create mode 100644 invert-binary-tree/shinsj4653.py create mode 100644 jump-game/shinsj4653.py create mode 100644 merge-k-sorted-lists/shinsj4653.py create mode 100644 search-in-rotated-sorted-array/shinsj4653.py diff --git a/course-schedule/shinsj4653.py b/course-schedule/shinsj4653.py new file mode 100644 index 000000000..f2dd9f373 --- /dev/null +++ b/course-schedule/shinsj4653.py @@ -0,0 +1,15 @@ +""" +[문제풀이] +# Inputs + +# Outputs + +# Constraints + +# Ideas + +[회고] + +""" + + diff --git a/invert-binary-tree/shinsj4653.py b/invert-binary-tree/shinsj4653.py new file mode 100644 index 000000000..f2dd9f373 --- /dev/null +++ b/invert-binary-tree/shinsj4653.py @@ -0,0 +1,15 @@ +""" +[문제풀이] +# Inputs + +# Outputs + +# Constraints + +# Ideas + +[회고] + +""" + + diff --git a/jump-game/shinsj4653.py b/jump-game/shinsj4653.py new file mode 100644 index 000000000..f2dd9f373 --- /dev/null +++ b/jump-game/shinsj4653.py @@ -0,0 +1,15 @@ +""" +[문제풀이] +# Inputs + +# Outputs + +# Constraints + +# Ideas + +[회고] + +""" + + diff --git a/merge-k-sorted-lists/shinsj4653.py b/merge-k-sorted-lists/shinsj4653.py new file mode 100644 index 000000000..f2dd9f373 --- /dev/null +++ b/merge-k-sorted-lists/shinsj4653.py @@ -0,0 +1,15 @@ +""" +[문제풀이] +# Inputs + +# Outputs + +# Constraints + +# Ideas + +[회고] + +""" + + diff --git a/search-in-rotated-sorted-array/shinsj4653.py b/search-in-rotated-sorted-array/shinsj4653.py new file mode 100644 index 000000000..f2dd9f373 --- /dev/null +++ b/search-in-rotated-sorted-array/shinsj4653.py @@ -0,0 +1,15 @@ +""" +[문제풀이] +# Inputs + +# Outputs + +# Constraints + +# Ideas + +[회고] + +""" + +