Coding Test
[프로그래머스] 정수 삼각형
상상쓰
2021. 5. 21. 17:30
https://programmers.co.kr/learn/courses/30/lessons/43105
코딩테스트 연습 - 정수 삼각형
[[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30
programmers.co.kr
규칙에 따라 단계별로 최댓값을 구하여 그 값을 배열에 저장하였다. (동적 계획법)
배열의 원소 개수가 줄어드는 방향으로 정렬하면 결국 마지막에 남는 배열의 하나의 원소가 답이 된다.
def solution(triangle):
answer = 0
triangle.reverse()
for i in range(1, len(triangle)):
for j in range(len(triangle[i])):
triangle[i][j] = triangle[i][j] + max(triangle[i-1][j], triangle[i-1][j+1])
answer = triangle[len(triangle)-1][0]
return answer
print(solution([[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]])) # 30