https://leetcode.com/problems/unique-paths/submissions/
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).
The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below).
How many possible unique paths are there?
It's guaranteed that the answer will be less than or equal to
DFS 문제인가 했는데 아래와 오른쪽으로만 움직이면서 최단경로의 개수를 찾는 DP(Dynamic Programming) 문제였다. 이 문제는 어렸을 때 학교에서 최단 경로의 개수를 찾는 문제와 같았다.(위쪽과 왼쪽 변을 전부 1로 두고 나머지 칸은 양쪽의 합으로 경로의 개수를 구하는 개념이다.
class Solution {
public int uniquePaths(int m, int n) {
int[][] matrix = new int[m][n];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (i == 0 || j == 0)
matrix[i][j] = 1;
else
matrix[i][j] = matrix[i-1][j] + matrix[i][j-1];
}
}
return matrix[m-1][n-1];
}
}