https://programmers.co.kr/learn/courses/30/lessons/43105?language=python3



전 이렇게 풀었습니다. (Python)


def solution(triangle):

    if len(triangle) == 1 :

        answer = triangle[0][0]

    else :

        low_tri_0 = [[0]]*(len(triangle)-1)

        low_tri_1 = [[0]]*(len(triangle)-1)

        for i in range(0, len(low_tri_0)):

            low_tri_0[i] = triangle[i+1][0:len(triangle[i+1])-1]

            low_tri_1[i] = triangle[i+1][1:len(triangle[i+1])]

        a = solution(low_tri_0)

        b = solution(low_tri_1)

        if a>=b :

            max_ab = a

        else :

            max_ab = b

        answer = triangle[0][0] + max_ab

    return answer


a = [[7], [3,8], [8,1,0], [2,7,4,4], [4,5,2,6,5]]
하고

solution(a) 하면 30 뜹니다.

님들도 30 뜨나요??