[DP - Multidimensional, Medium] Unique Paths

송재호·2025년 4월 3일
0

https://leetcode.com/problems/unique-paths/?envType=study-plan-v2&envId=leetcode-75

다른 시리즈에서 이미 풀었던 문제다.
https://velog.io/@potato_song/DP-Medium-Unique-Paths

요약

  • dp[i][0] = 1으로 첫 열 모두 1로 초기화
  • dp[0][i] = 1으로 첫 행 모두 1로 초기화
  • 위에서 오는 길 dp[i - 1][j], 왼쪽에서 오는 길 dp[i][j - 1]을 더해간다.
class Solution {
    public int uniquePaths(int m, int n) {
        if (n == 1 || m == 1) return 1;

        int[][] dp = new int[m][n];
        
        for (int i=0; i<m; i++) {
            dp[i][0] = 1;
        }

        for (int j=0; j<n; j++) {
            dp[0][j] = 1;
        }

        for (int i=1; i<m; i++) {
            for (int j=1; j<n; j++) {
                dp[i][j] += dp[i - 1][j] + dp[i][j - 1];
            }
        }

        return dp[m - 1][n - 1];
    }
}
profile
식지 않는 감자

0개의 댓글