Skip to content

Commit d221692

Browse files
committed
jump-game solution
1 parent 25d5039 commit d221692

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

โ€Žjump-game/yyyyyyyyyKim.pyโ€Ž

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
class Solution:
2+
def canJump(self, nums: List[int]) -> bool:
3+
4+
# ๊ทธ๋ฆฌ๋””(์‹œ๊ฐ„๋ณต์žก๋„ O(n), ๊ณต๊ฐ„๋ณต์žก๋„ O(1))
5+
max_reach = 0 # ๊ฐ€์žฅ ๋ฉ€๋ฆฌ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜
6+
7+
for i in range(len(nums)):
8+
# max_reach๊ฐ€ i๋ณด๋‹ค ์ž‘์œผ๋ฉด nums[i]์— ๋„๋‹ฌ ๋ถˆ๊ฐ€ -> False
9+
if i > max_reach:
10+
return False
11+
# ํ˜„์žฌ ์œ„์น˜i์—์„œ ์ ํ”„ํ–ˆ์„ ๋•Œ ๋„๋‹ฌ ๊ฐ€๋Šฅํ•œ ์ตœ๋Œ€ ์œ„์น˜ ์—…๋ฐ์ดํŠธ
12+
max_reach = max(max_reach, i + nums[i])
13+
14+
# ๋„๋‹ฌ ๊ฐ€๋Šฅ
15+
return True
16+
17+
18+
# # ์•„๋ž˜ ๋ฐฉ์‹(DP)์€ ์‹œ๊ฐ„์ดˆ๊ณผ๋œธ.
19+
# # DP(์‹œ๊ฐ„๋ณต์žก๋„ O(n^2), ๊ณต๊ฐ„๋ณต์žก๋„ O(n))
20+
# # dp[i] = i๋ฒˆ์งธ์— ๋„๋‹ฌ ๊ฐ€๋Šฅํ•œ์ง€ ์—ฌ๋ถ€
21+
# dp = [False]*len(nums)
22+
# dp[0] = True # ์‹œ์ž‘์ ์€ ํ•ญ์ƒ ๋„๋‹ฌ ๊ฐ€๋Šฅ
23+
24+
# for i in range(1,len(nums)):
25+
# for j in range(i):
26+
# # j๊นŒ์ง€ ๊ฐˆ ์ˆ˜ ์žˆ๊ณ , j์—์„œ i๊นŒ์ง€ ์ ํ”„ ๊ฐ€๋Šฅํ•˜๋ฉด, True๋กœ ๋ฐ”๊พธ๊ณ  break(๋” ๋ณผ ํ•„์š”์—†์Œ)
27+
# if dp[j] and j + nums[j] >= i:
28+
# dp[i] = True
29+
# break
30+
31+
# # ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค ๋„๋‹ฌ ์—ฌ๋ถ€
32+
# return dp[-1]

0 commit comments

Comments
ย (0)