[BOJ] Q1932 정수 삼각형

Question

Language: Python

Difficulty: Silver 1

이전 금광 문제 처럼 해당 칸으로 올 수 있는 이전의 칸들을 비교해서 그 중 최대값을 가지는 칸으로부터 오게끔 해야한다. 정수 삼각형을 보면 왼쪽 대각선 위와 오른쪽 대각선의 위의 값을 보고 결정하면 된다.

Solution

def solution():
    for i in range(1,n):
    for j in range(i+1):
        target_data=input_data[i][j]
        previous_list=input_data[i-1]
        if j==0:
            input_data[i][j]=previous_list[0]+target_data
        elif j==i:
            input_data[i][j]=previous_list[-1]+target_data
        else:
            input_data[i][j]=max(previous_list[j-1],previous_list[j])+target_data

    return max(input_data[n-1])

if __name__ == "__main__":
    n=int(input())
    input_data=[list(map(int,input().split())) for _in range(n)]
    print(solution())

댓글남기기