코팅테스트/백준 문제 모음
백준 1149번 파이썬 문제풀이(DP - RGB거리)
유지광이
2021. 11. 6. 14:14
728x90



import sys
input = sys.stdin.readline
N = int(input())
cost = [[0, 0, 0]]
for _ in range(N):
cost.append(list(map(int, input().split())))
dp = [i for i in cost]
for i in range(2, N + 1):
dp[i][0] = min(dp[i - 1][1], dp[i - 1][2]) + dp[i][0]
dp[i][1] = min(dp[i - 1][2], dp[i - 1][0]) + dp[i][1]
dp[i][2] = min(dp[i - 1][0], dp[i - 1][1]) + dp[i][2]
print(min(dp[N]))
-> 간단한 문제이다. dp를 우선 입력받은 cost와 똑같이 만들어준다. 그 이후 문제의 조건에 맞게 2부터 입력받은 N까지 i로 돌며 i일때의 R,G,B를 각각 최소 비용으로 설정해주면서 DP를 돈다.
728x90