본문 바로가기
✨ 모든 웹/앱/게임 개발자를 위한 컴퓨터 구조 무료 강의, 제가 직접 준비했어요! 지금 바로 시작해볼까요?
Problem Solving/Dynamic Programming

[다이나믹 프로그래밍] 백준 1932번: 정수 삼각형

by ggyongi 2021. 5. 27.

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

그리디로 생각하기 쉽지만 dp문제이다.

매번 큰수를 택하는 식으로 접근하면(그리디) 문제가 풀리지 않는다.

n = int(input())
triangle=[]
for i in range(n):
    triangle.append(list(map(int,input().split())))

dp =[triangle[0][0]]
for i in range(1,n): # i means depth
    ndp = []
    for j in range(i+1):
        if j==0 : # left edge
            pre = dp[j]
        elif j==i: # right edge
            pre = dp[j-1]
        else:
            pre = max(dp[j-1], dp[j])
        ndp.append(pre + triangle[i][j])
    dp = ndp
print(max(dp))
강의 썸네일

📘 visionCS 시리즈

무료 공개! 컴퓨터 구조

흐름으로 배우는 CS 입문 강의

무료 강의 보러 가기

📘 비전공자 개발자 취업 성공기 시리즈

개발자가 되고 싶었던 한 비전공자의 1년 4개월 이야기
막막했던 시작부터 좌절, 그리고 합격까지의 여정을 기록했습니다

 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글