Daily LeetCode Challenge - 45. Jump Game II

Min Young Kim·2023년 2월 8일
0

algorithm

목록 보기
68/198

Problem From.
https://leetcode.com/problems/jump-game-ii/

오늘 문제는 DP 를 이용하여 풀 수 있는 문제였다.

각 칸에 도착했을때, 그 칸에 있는 숫자만큼 다음칸을 검사하면서, 그 칸이 0이라면 각 칸의 점프 횟수에 1을 더해서 누적해주고, 0 이 아니라면 점프할 수 있는 더 적은 경우의 수가 있으니 넘어가는 식으로 코드를 작성하였다.

class Solution {
    fun jump(nums: IntArray): Int {     
        if(nums.size == 1) return 0        
        val memo = Array(nums.size) { 0 }       
        for(i in 0 until nums.size) {        
            val jump = nums[i]        
            for(j in i+1 .. i+jump) {            
                if(memo[j] == 0) memo[j] = memo[i] + 1
                if(memo[nums.size - 1] != 0) return memo[nums.size - 1]      
            }         
        }   
        return memo[nums.size - 1]   
    }
}
profile
길을 찾는 개발자

0개의 댓글