Skip to content

Commit f1874c8

Browse files
committed
Solve: unique-paths
1 parent 80b661a commit f1874c8

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

โ€Žunique-paths/Jay-Mo-99.pyโ€Ž

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# ํ•ด์„
2+
# grid๋Š” ํ–‰๋ ฌ(matrix)์ฒ˜๋Ÿผ ๊ฒฉ์ž์˜ ํ˜•ํƒœ์ด๋‹ค.
3+
# ํ–‰์ด m๊ฐœ๋ผ๋Š” ๋œป์€ ์ขŒํ‘œ ์ƒ (0,0), (1,0), ..., (m-1,0)๊นŒ์ง€ ์กด์žฌํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.
4+
# ์—ด์ด n๊ฐœ๋ผ๋Š” ๋œป์€ ์ขŒํ‘œ ์ƒ (0,0), (0,1), ..., (0,n-1)๊นŒ์ง€ ์กด์žฌํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.
5+
# ๋”ฐ๋ผ์„œ (0,0)์—์„œ (m-1,n-1)๊นŒ์ง€์˜ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๊ฒฝ๋กœ ์ˆ˜๋ฅผ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค.
6+
# - ์•„๋ž˜๋กœ m-1๋ฒˆ ์ด๋™ํ•˜๊ณ , ์˜ค๋ฅธ์ชฝ์œผ๋กœ n-1๋ฒˆ ์ด๋™ํ•ด์•ผ ํ•œ๋‹ค.
7+
# - ์ด ์ด๋™ ํšŸ์ˆ˜๋Š” m-1 + n-1 = m+n-2์ด๋‹ค.
8+
# - ์ด ์ด๋™ ํšŸ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์•„๋ž˜๋กœ m-1๋ฒˆ ์˜ค๋ฅธ์ชฝ์œผ๋กœ (n-1)๋ฒˆ์˜ ์กฐํ•ฉ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.
9+
# - ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜๋กœ 3๋ฒˆ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋‹ค์„ฏ๋ฒˆ์œผ๋กœ ๋งŒ๋“ค์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค ^^^>>>>> : ^์™€ > ๊ฐ€๋Šฅํ•œ ์กฐํ•ฉ์„ ์ฐพ์•„์ค€๋‹ค.
10+
# ๊ณต์‹: (m+n-2)! / (m-1)! / (n-1)!
11+
12+
13+
#Big O
14+
#- N: int m์˜ ํฌ๊ธฐ
15+
#- K: int n์˜ ํฌ๊ธฐ
16+
17+
#Time Complexity: O(M+K)
18+
#- for i in range(1,m+1-1): m๊ณผ n์˜ ํฌ๊ธฐ์˜ ํ•ฉ์— ์˜ํ–ฅ๋ฐ›์•„ ๊ณ„์‚ฐ ์ง„ํ–‰ -> O(N+K)
19+
20+
#Space Complexity: O(1)
21+
#- up,down1,down2 - ๋ณ€์ˆ˜์™€ ๋ณ€์ˆ˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์‚ฌ์น™์—ฐ์‚ฐ์€ ์ƒ์ˆ˜๋กœ ์—ฌ๊ฒจ์ ธ O(1),
22+
class Solution:
23+
def uniquePaths(self, m: int, n: int) -> int:
24+
up = 1 #๋ถ„์ž
25+
down1 = 1 #๋ถ„๋ชจ 1
26+
down2=1 #๋ถ„๋ชจ 2
27+
28+
29+
for i in range(1,m+n-1):
30+
up *= i
31+
for i in range(1,m):
32+
down1 *= i
33+
for i in range(1,n):
34+
down2 *= i
35+
36+
return int(up/(down1*down2))
37+

0 commit comments

Comments
ย (0)