LeetCode (9) - Jump Game(파이썬, python)
❓ 문제
You are given an integer array nums
. You are initially positioned at the array’s first index, and each element in the array represents your maximum jump length at that position.
Return true
if you can reach the last index, or false
otherwise.
Example 1:
Input: nums = [2,3,1,1,4]
Output: true
Explanation: Jump 1 step from index 0 to 1, then 3 steps to the last index.
Example 2:
Input: nums = [3,2,1,0,4]
Output: false
Explanation: You will always arrive at index 3 no matter what. Its maximum jump length is 0, which makes it impossible to reach the last index.
Constraints:
1 <= nums.length <= 104
0 <= nums[i] <= 105
Given Code
class Solution:
def canJump(self, nums: List[int]) -> bool:
내 풀이
class Solution:
def canJump(self, nums) -> bool:
go = [False for _ in nums]
max = 0
if len(nums) == 1:
return True
for i in range(len(nums)):
print(max, ' / ', len(nums))
go[i] = True
if i + nums[i] > max:
max = i + nums[i]
if max >= len(nums) - 1:
return True
if nums[i] == 0 and max <= i:
return False
return True
max라는 변수에 최대 인덱스 놔서 풀었는데… 카테고리가 Dynamic Programming으로 되어있어서 이걸로 해야할거같은데…. 그냥 나중에 볼래