Unique Paths

HeeSeong·2021년 9월 3일
0

LeetCode

목록 보기
31/38
post-thumbnail

🔗 문제 링크

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?


⚠️ 제한사항


  • 1<=m,n<=1001 <= m, n <= 100

  • It's guaranteed that the answer will be less than or equal to 2109.2 * 10^9.



🗝 풀이 (언어 : Java)


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];
    }
}
profile
끊임없이 성장하고 싶은 개발자

0개의 댓글