[Array, Greed] Jump Game

2021. 4. 1. 10:15프로그래밍-코딩테스트/LeetCode

각 element의 값은 해당 index로부터 element의 값만큼 떨어진 index로 점프할 수 있음을 나타낸다

이때 마지막 index로 갈 수 있는지의 여부를 묻는 문제이다.

 

이렇게 단순히 배열을 순회하는 케이스에서는 greedy로 풀어내면 수월하다.

target을 배열의 마지막 index로 설정한다.

 

target을 배열의 맨뒤부터 설정하고, 각 원소로부터 target까지 갈 수 있는지 여부를 판단한다

한곳에서라도 방법이 있다면 해당 위치로 타겟을 바꾸어 검사한다

 

예컨데 [3,2,1,0,4] 은 false인데, 0,1,2,3 위치에서 어떻게 하더라도 index=4로 갈 수 없기 때문이다.

만약 [3,3,1,0,4] 라면 true일 것이다. index=1의 위치에서 index=4로 갈 수 있기 때문이다.

그 다음엔 index=1이 타겟이 되고, index=1보다 작은 위치에서 index=1로 갈 수 있는 방법이 있는지 봐야한다

index=0이 3이므로 갈 수 있어서 true가 되는 것이다.

'프로그래밍-코딩테스트 > LeetCode' 카테고리의 다른 글

[Linked List] Sort List  (0) 2021.04.01
[Array, Greedy] Jump Game II  (0) 2021.04.01
[Array, Hash] Subarray Sum Equals K  (0) 2021.03.31
[DP] Longest Palindromic Substring  (0) 2021.03.31
[Array] 3Sum  (0) 2021.03.31