[JS] Unique Paths

2022. 9. 5. 19:51

🔒 문제 (LeetCode 62)

There is a robot on an m x n grid. The robot is initially located at the top-left corner (i.e., grid[0][0]). The robot tries to move to the bottom-right corner (i.e., grid[m - 1][n - 1]). The robot can only move either down or right at any point in time.

Given the two integers m and n, return the number of possible unique paths that the robot can take to reach the bottom-right corner.

The test cases are generated so that the answer will be less than or equal to 2 * 109.

Constraints:

  • 1 <= m, n <= 100

 

🌊 입출력

Example 1:

Input: m = 3, n = 7
Output: 28

Example 2:

Input: m = 3, n = 2
Output: 3
Explanation: From the top-left corner, there are a total of 3 ways to reach the bottom-right corner:
1. Right -> Down -> Down
2. Down -> Down -> Right
3. Down -> Right -> Down

 


 

🔑 해결

🌌 알고리즘 - DP

/**
 * @param {number} m
 * @param {number} n
 * @return {number}
 */
var uniquePaths = function(m, n) {
    let dp = new Array(m).fill().map(() => new Array(n).fill(1))
    
    for(let i = 1; i < m; i++) {
        for(let j = 1; j < n; j++) {
            dp[i][j] = dp[i-1][j] + dp[i][j-1]
        }
    }
    
    return dp[m-1][n-1]
};

'코딩테스트 (JS) > DP' 카테고리의 다른 글

[JS] Arithmetic Slices  (0) 2022.09.06
[JS] Longest Palindromic Substring  (0) 2022.09.06
[JS] Jump Game II  (0) 2022.09.05
[JS] House Robber II  (0) 2022.09.04
[DP] Triangle  (0) 2022.08.01

+ Recent posts