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];
}
}