def solution(triangle):
total = [[triangle[0][0]]]
for dy in range(1, len(triangle)):
stair_max = []
for dx in range(len(triangle[dy])):
if dx == 0:
max_val = total[dy - 1][0] + triangle[dy][dx]
elif dx == len(triangle[dy]) - 1:
max_val = total[dy - 1][-1] + triangle[dy][dx]
else:
max_val = max(total[dy - 1][dx - 1], total[dy - 1][dx]) + triangle[dy][dx]
stair_max.append(max_val)
total.append(stair_max)
return max(total[-1])
PREVIOUS[백준] 색종이 만들기