Menu
CoddyTech

Jump Game

배열 nums의 인덱스 0에 서 있습니다. 인덱스 i에서 nums[i]까지의 단계 수만큼 앞으로 점프할 수 있으므로, nums[i]는 그 위치에서 가능한 가장 긴 점프이며 0은 이동할 수 없다는 뜻입니다. 어떤 점프 순서로든 마지막 인덱스에 도달할 수 있으면 true를 반환하고, 그렇지 않으면 false를 반환하세요.

함수

canJump(nums: integer-array) → boolean
numsinteger-array
각 인덱스에서 이동할 수 있는 가장 긴 거리
반환값boolean
0번 인덱스에서 시작해 마지막 인덱스에 도달할 수 있으면 true, 그렇지 않으면 false

제약 조건

  • 1 ≤ nums.length ≤ 104
  • 0 ≤ nums[i] ≤ 105
  • 점프 거리는 nums[i]보다 짧을 수 있으므로, 긴 점프를 하더라도 마지막 인덱스를 지나치게 되지는 않습니다.

예제

입력
nums = [2, 0, 3, 1, 0, 2]
출력
true
설명
인덱스 0에서 인덱스 1 또는 2로 이동할 수 있습니다. 인덱스 1에는 0이 있으며 막다른 곳이지만, 인덱스 2에는 3이 있으며 마지막 인덱스인 인덱스 5에 도달합니다.

lock icon제출 시 숨은 테스트 +18개

challenge icon

후속 질문

마지막 인덱스에 도달하는 서로 다른 점프 시퀀스의 개수를 10^9+7로 나눈 나머지로 구하세요. 시간 복잡도는 여전히 O(n)입니다.

코드 초기화
def canJump(nums):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

nums = [2, 0, 3, 1, 0, 2]

기대값

true