[백준 11048 파이썬] 이동하기

일단 해볼게·2022년 12월 17일
0

백준

목록 보기
84/132

https://www.acmicpc.net/problem/11048

# 이동하기

import sys
input = sys.stdin.readline

n, m = map(int, input().rstrip().split()) 
candy = [list(map(int, input().rstrip().split())) for _ in range(n)]
dp = [[0] * (m + 1) for _ in range(n + 1)]
# dp = [[0] * (m + 1)] * (n + 1) 으로 값을 선언하면 dp[i][1]이 변경될 때 dp[0][1], dp[1][1], dp[2][1], dp[3][1]이 다 변경된다. 주의하자.

for i in range(1, n + 1):
    for j in range(1, m + 1):
        dp[i][j] =  max(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]) + candy[i - 1][j - 1] # dp값 + 현재 위치의 사탕

print(dp[n][m])

dp 값 설정할 때 선언 방식을 주의하자.

profile
시도하고 More Do하는 백엔드 개발자입니다.

0개의 댓글