728x90
반응형
Python - 코드 생각이 어려움
class Solution:
def jump(self, nums: List[int]) -> int:
if len(nums) <= 1:
return 0
#이전에 방문한 곳 - index움직인 곳보다 더 크면 방문
jump = 1
pre_visited_count = nums[0]#더 이전에 방문한 곳(진짜)
visited_count = nums[0]#현재 방문으로 체크하려는 곳
for i in range(1, len(nums) - 1):
pre_visited_count -= 1
visited_count -= 1
if nums[i] > visited_count:#현재 방문으로 체크된 곳이 현재 값보다 작으면 바꿔줌
visited_count = nums[i]
if pre_visited_count == 0:#그 이전에 방문했던 카운트가 다 떨어졌으면 진짜 점프 해야 됨
jump += 1
pre_visited_count = visited_count
return jump
Java
class Solution {
public int jump(int[] nums) {
if (nums.length <= 1) {
return 0;
}
int preCount = nums[0];
int nowCount = nums[0];
int jump = 1;
for (int i = 1; i < nums.length - 1; i++) {
preCount--;
nowCount--;
if (nums[i] > nowCount) {
nowCount = nums[i];
}
if (preCount == 0) {
jump++;
preCount = nowCount;
}
}
return jump;
}
}
728x90
반응형
'LeetCode > Medium' 카테고리의 다른 글
134. Gas Station (0) | 2022.04.18 |
---|---|
103. Binary Tree Zigzag Level Order Traversal (0) | 2022.04.11 |
6. Zigzag Conversion (0) | 2022.04.07 |
102. Binary Tree Level Order Traversal (0) | 2022.04.05 |
50. Pow(x, n) (0) | 2022.04.01 |