class Solution:
    def canJump(self, nums: List[int]) -> bool:
        flag = len(nums) - 1
        for i in range(2, len(nums)):
            j = len(nums) - i
            if j + nums[-i] >= flag:
                flag = j
        return (nums[0] >= flag)


난 끝에서 처음으로 왔는데, 풀고 생각해보니 처음에서 끝으로 가는 방법도 있더라.

결국은 점프할 수 있는 위치를 다 조사하지 않고 갈 수 있는 것 중에서 최대 혹은 최소만 보는게 핵심인듯