상상쓰

[프로그래머스] 정수 삼각형 본문

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
Comments