[백준] 1149번 RGB거리 (Python)

지윤·2023년 4월 6일

👩🏻‍💻

다이나믹 프로그래밍인 것은 파악했지만 뭔가 앞쪽 데이터부터 받아와도 풀 수 있을 것 같았다.. 그렇게 삽질하다가 서브스크립트가 너무 길어지는 것을 보니 잘못 풀고있다는 판단이 쎄게 들어 다른 분의 코드를 참고하여 점화식으로 정리해서 풀었다 ㅜㅜ
DP 문제는 점화식을 찾아내려고 노력하는데 그러지 못할 때마다 아쉽다.

코드

import sys
input = sys.stdin.readline

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

for i in range(1, n):
    RGB[i][0] = RGB[i][0] + min(RGB[i-1][1], RGB[i-1][2])
    RGB[i][1] = RGB[i][1] + min(RGB[i-1][0], RGB[i-1][2])
    RGB[i][2] = RGB[i][2] + min(RGB[i-1][0], RGB[i-1][1])

print(min(RGB[n-1]))
profile
떠돌이 컴공

0개의 댓글