Leetcode Java Jump Game
업데이트:
문제
코드
class Solution {
public boolean canJump(int[] nums) {
int position = 0;
for (int idx = 0; idx < nums.length; idx++) {
if (position < idx) {
return false;
}
position = Math.max(idx + nums[idx], position);
}
return true;
}
}
결과
설명
-
주어진 배열 num의 0번째 인덱스에서 시작하여 각 위치의 값만큼 이동하여 해당 배열의 마지막 위치까지 이동이 가능한지를 확인하는 문제이다.
-
현재의 위치를 저장하기 위한 변수 position을 배열의 시작 위치인 0으로 정의한다.
- 반복문을 통해 배열을 탐색하여 주어진 배열 nums의 마지막 위치에 도달하는지 확인한다.
- 현재 위치를 저장한 position이 반복을 수행하는 위치인 idx보다 작을 경우, nums[idx]의 값이 0이라는 의미이므로 주어진 문제의 결과로 false를 반환한다.
- 현재 위치를 저장한 position과 $idx + nums[idx]$의 값을 비교하여 position에 저장하고 반복을 계속한다.
- 반복이 종료되면 배열 nums의 마지막 위치에 도달 할 수 없다는 의미이므로, 주어진 문제의 결과로 true를 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기