정수 삼각형 [동적 계획법(DP)]
코딩테스트 연습 > 동적계획법 > 정수 삼각형
https://programmers.co.kr/learn/courses/30/lessons/43105
trianle
의 -1번째 리스트 중 가장 큰 값입니다.#00
triangle = [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]]
#01 메모이제이션 - 맨 밑줄 저장 -> 상향식
answer = [[] for _ in range(len(triangle)-1)]+[triangle[-1]]
#02
for i in range(len(triangle)-1,0,-1): # cols
for j in range(0,len(triangle[i-1])): # rows
answer[i-1].append(max(answer[i][j] + triangle[i-1][j],answer[i][j+1] + triangle[i-1][j]))
#03
print(answer)
print(max(answer)[0])
def solution(triangle):
answer = [[] for _ in range(len(triangle)-1)]+[triangle[-1]]
for i in range(len(triangle)-1,0,-1): # cols
for j in range(0,len(triangle[i-1])): # rows
answer[i-1].append(max(answer[i][j] + triangle[i-1][j],answer[i][j+1] + triangle[i-1][j]))
return max(answer)[0]