justsicklife
백준 1932번: 정수 삼각형 본문
이 문제는 일단은 https://pacific-ocean.tistory.com/148
[백준] 1932번(python 파이썬)
문제 링크: https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 문제 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를..
pacific-ocean.tistory.com
링크에 있는 코드를 봤다 도저히 구현이 머리속으로 정리가 안되서 아무튼 답을 봤다.
코드에 주석을 달아보았다.
n = int(input())
t = []
for i in range(n):
t.append(list(map(int, input().split())))
k = 2
for i in range(1, n):
for j in range(k):
// 제일 왼쪽에 있는 값이 라면
if j == 0:
// 제일 왼쪽칸 에 위에 있는 값을 더한다.
t[i][j] = t[i][j] + t[i - 1][j]
// 제일 오른쪽 칸 에 있는 값이라면
elif i == j:
// 제일 오른쪽 칸 위에 있는 값을 더한다
t[i][j] = t[i][j] + t[i - 1][j - 1]
// 오른쪽과 왼쪽 둘다 아니라면
else:
// 현제 위치에서 위에값에 왼쪽 과 오른쪽 둘중 큰값을 더한다.
t[i][j] = max(t[i - 1][j - 1], t[i - 1][j]) + t[i][j]
k += 1
print(max(t[n - 1]))