320x100
문제 : https://leetcode.com/problems/unique-paths/
학창시절 때 배웠던 것을 떠올려본다.
3*4 그리드가 있다고 하면
일단 가장 위에 행과 가장 왼쪽 행은 1로 갱신한다.
이 부분들은 갈 수 있는 횟수가 전부 1이다. (오른쪽으로만 가거나 아래로만 가거나)
남은 그리드 부분은 왼쪽+위가 갈 수 있는 경우의 수가 된다.
(위에서 내려오거나, 왼쪽에서 오른쪽으로 오거나)
이렇게 왼쪽 위에서부터 오른쪽 아래 방향으로 차례대로 모든 그리드를 채웠을 때
가장 오른쪽 아래에 있는 수(10)가 정답이 된다.
시간복잡도는 O(NM).
소스코드
C++ : https://gist.github.com/fpdjsns/7640cc2431977f51ce86007374ddf8e5
pythone : https://github.com/fpdjsns/Algorithm-python/blob/main/leetcode/medium/62.%20Unique%20Paths.py
320x100
'알고리즘 문제 > Leetcode' 카테고리의 다른 글
[leetcode][91] Decode Ways (0) | 2018.11.02 |
---|---|
[leetcode][423] Reconstruct Original Digits from English (0) | 2018.11.01 |
[leetcode][929] Unique Email Addresses (0) | 2018.10.28 |
[leetcode][921] Minimum Add to Make Parentheses Valid (0) | 2018.10.28 |
[LeetCode][926] Flip String to Monotone Increasing (0) | 2018.10.27 |
댓글