이게 왜 미디엄인지 모르겠네.
안 풀려다가 그냥 끄적거려봄
class Solution:
def minFallingPathSum(self, matrix: List[List[int]]) -> int:
n = len(matrix)
dp = [[0 for _ in range(n)] for _ in range(n)]
dp[0] = matrix[0]
for i in range(1, n):
for j in range(n):
if j == 0:
dp[i][j] = min(dp[i-1][j], dp[i-1][j+1]) + matrix[i][j]
elif j == n-1:
dp[i][j] = min(dp[i-1][j], dp[i-1][j-1]) + matrix[i][j]
else:
dp[i][j] = min(dp[i-1][j], dp[i-1][j+1], dp[i-1][j-1]) + matrix[i][j]
return min(dp[-1])
댓글 0