LeetCode[ Medium | Python ] JumpGame
업데이트:
링크
https://leetcode.com/problems/jump-game/?envType=study-plan-v2&envId=top-interview-150
풀이
주어진 배열(발판) nums
안에 적혀있는 수에 따라 최대 점프 가능한 발판의 수가 적혀있다. 발판을 밟아 가면서, 마지막 발판 까지 도착할 수 있는지 반환해야하는 문제.
- 발판을 하나씩 밟아간다.
- 이 때 도달할 수 있는 최대 발판과 비교하여 현재 발판을 최대 가능한 발판이 도달할 수 없다면 False를 반환한다.
- 현재 발판에 최대 발판이 도달할 수 있다면 최대 발판을 갱신한다.(최대 발판은
현재 발판의 위치 + 현재 발판을 통해 갈 수 있는 최대 발판
이다)
- 마지막 발판 까지 도달할 수 있다면 True를 반환한다.
코드
Python
class Solution(object):
def canJump(self, nums):
to = 0
for i in range(len(nums)):
if to < i:
break
to = max(to, i + nums[i])
else: return True
댓글남기기