55. Jump Game

Doyeon Kim·2022년 8월 23일

코딩테스트 공부

목록 보기
109/171

문제 링크 : https://leetcode.com/problems/jump-game/


주어진 배열 nums에서 각 요소들은 점프할 수 있는 최대 길이를 나타낸다.

만약 마지막 인덱스까지 도달할 수 있으면 True, 없으며 False 반환

예를 들어 nums = [2,3,1,1,4]가 있으면

만약 맨 마지막 4 앞에 1에 도착할 수 있다면 맨 마지막 4에 도달할 수 있다는 것을 알 수 있다.
그리고 그 앞에 nums[2] = 1에 도착할 수 있다면 그 다음 1에 도착할 수 있다.

그런식으로 반드시 도착해야만 하는 곳 goal을 만들어서 계산해서 풀면 쉽게 풀 수 있다.

class Solution:
    def canJump(self, nums: List[int]) -> bool:
        goal = len(nums)-1
        
        for i in range(len(nums)-1,-1,-1):
            if i + nums[i]>= goal:
                goal = i
                
        return True if goal == 0 else False
profile
성장하고 도전하는 개발자. 프로그래밍 좋아하세요?

0개의 댓글