Algorithm

프로그래머스 Lv.3: 종이 삼각형 - Python 풀이

서서리 2025. 2. 5. 23:32
SMALL

문제 설명

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

풀이 과정

def solution(triangle):
    for i in range(1, len(triangle)):
        for j in range(len(triangle[i])):
            if i > 1 and j != 0 and j != len(triangle[i-1]):
                triangle[i][j] += max(triangle[i-1][j-1], triangle[i-1][j])
            elif j == 0:
                triangle[i][j] += triangle[i-1][j]
            elif j == len(triangle[i-1]):
                triangle[i][j] += triangle[i-1][-1]
    return max(triangle[-1])

 

해당 위치까지의 최댓값을 구해서 다음 위치를 구할 때 이전 값을 이용하는 게 핵심.

LIST