코테준비
<dp> 1932번. 정수 삼각형 (실버 1)
요댜다
2023. 1. 11. 16:07
https://www.acmicpc.net/problem/1932
1932번: 정수 삼각형
첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다.
www.acmicpc.net
"""
문제 이해 :
대각선 왼쪽 혹은 오른쪽 중 최대 선택하기
dp[i][j] += max(dp[i-1][j-1], dp[i-1][j])
"""
n = int(input())
lst = []
for _ in range(n):
lst.append(list(map(int, input().split())))
for i in range(1,n):
for j in range(i+1):
if j == 0: #오른쪽 대각선으로만 이동 가능한 경우
lst[i][j] += lst[i-1][j]
elif j == i: #왼쪽 대각선으로만 이동 가능한 경우
lst[i][j] += lst[i-1][j-1]
else :
lst[i][j] += max(lst[i-1][j-1], lst[i-1][j])
print(max(lst[n-1]))
한 번에 성공 !!