TIL
99클럽 TIL (240831)
wnwlals13
2024. 8. 31. 12:07
> [Middler] Unique Path 2
https://leetcode.com/problems/unique-paths-ii/
문제 풀이 과정
- DP (동적 계획법)
- 어제 풀었던 Unique path 문제에서 장애물이 추가된 문제이다.
- 목표 : 로봇의 위치에서 그리드의 맨 우측 하단 위치로 가는 경로의 개수
접근 방법
- dp[i][j] = dp[i-1][j] + dp[i][j-1]
- 이때, obstacleGrid[i][j] == 1 이면 갈수 없으므로 0
- ✨ 로봇의 위치에 장애물이 있을 수도 있다는 점을 감안해야한다. 이부분 때문에 한번 실패함.
문제 풀이
python
class Solution:
def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int:
m = len(obstacleGrid)
n = len(obstacleGrid[0])
dp = [[0]*n for _ in range(m)]
for i in range(m) :
for j in range(n) :
if i==0 and j==0 :
if obstacleGrid[i][j] == 1 :
dp[i][j] = 0
else :
dp[i][j] = 1
elif obstacleGrid[i][j] == 1 :
dp[i][j] = 0
else :
dp[i][j] = dp[i-1][j] + dp[i][j-1]
return dp[m-1][n-1]
오늘의 회고 및 느낀점
문제를 ....꼼꼼히 읽어라!!!!!