일일구름 IT

[백준 1932] 정수 삼각형 (Python) 본문

백준/다이나믹 프로그래밍

[백준 1932] 정수 삼각형 (Python)

일구름 2023. 3. 23. 21:08

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

 

1932번: 정수 삼각형

첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다.

www.acmicpc.net

[문제]

[내 코드]

n = int(input())

tri = []

for i in range(n):
    tri.append(list(map(int, input().split())))

for i in range(n-2, -1, -1):
    for j in range(i+1):
        tri[i][j] = max(tri[i+1][j], tri[i+1][j+1]) + tri[i][j]

print(tri[0][0])

맨 아래에서 두 번째 줄 숫자부터 대각선 왼쪽, 오른쪽 아래 중에 더 큰 수를 합한 값을 저장하다 보면 가장 위에 있는 수가 최종 값이 된다.

DP 문제를 몇 개 풀다 보니 알고리즘 흐름을 알게 되었다.

 

드디어 혼자서 DP 문제를 풀게 되었다 !!

꾸준히 알고리즘 문제를 풀어야겠다

 

이제 정처기 실기 공부도 해야한다... 이게 더 재밌으려나 ..?

아자아자 화이팅 ~!

 

'백준 > 다이나믹 프로그래밍' 카테고리의 다른 글

[백준 2294] 동전2 (Python)  (0) 2023.05.08
[백준 2293] 코인1 (Python)  (0) 2023.05.08
[백준 1912] 연속합 (Python)  (0) 2023.03.23