Coding Cantabile

[BOJ] #1932_정수 삼각형(Python3, 파이썬) 본문

Coding Test/BOJ

[BOJ] #1932_정수 삼각형(Python3, 파이썬)

Gracekim 2023. 3. 22. 21:37

본 게시글은 백준 저지 알고리즘 문제를 '파이썬, Python3' 언어로 풀이한 내용을 주관적으로 정리하였으며, 내용과 관련된 코드리뷰 및 피드백 환영합니다.

티어

Silver I

문제 출처

https://www.acmicpc.net/problem/1932


풀이

import sys 
input = sys.stdin.readline

n = int(input())
t = []
for i in range(n):
    t.append(list(map(int, input().split())))
k = 2
for i in range(1, n):
    for j in range(k):
        if j == 0:
            t[i][j] = t[i][j] + t[i - 1][j]
        
        elif i == j:
            t[i][j] = t[i][j] + t[i - 1][j - 1]
            
        else:
            t[i][j] = max(t[i - 1][j - 1], t[i - 1][j]) + t[i][j]

    k += 1
print(max(t[n - 1]))

맨 처음 for문을 돌리면 10, 15가 되고, 두 번째 for문을 돌렸을 때는 18, 16, 15가 된다. 이렇게 쭉 내려와 값을 할당해주고, 마지막 숫자들중 가장 큰 값을 출력하면 된다. 더할 때는 왼쪽 숫자와 오른쪽 숫자를 비교해서 큰 값을 더하면 된다.