Algorithm/Programmers

[Programmers][Lv.3] 정수 삼각형

so-so 2023. 3. 23. 23:09
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/43105

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


💡IDEA

동적계획법을 사용하는 문제이다.

📌CODE

def solution(triangle):
    answer = 0
    dp = triangle.copy()
    for i in range(1, len(triangle)):
        for j in range(0, i+1):
            if j == 0:
                dp[i][j] += triangle[i-1][j]
                continue
            if j == i:
                dp[i][j] += triangle[i-1][j-1]
                continue
            dp[i][j] += max(triangle[i-1][j-1], triangle[i-1][j])
    answer = max(dp[-1])
    # print(dp)
    return answer


print(solution([[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]]))
반응형