ebson

boj.kr/1149 RGB거리 (silver1) 파이썬 풀이 본문

ALGORITHM STUDY WITH PYTHON/DP

boj.kr/1149 RGB거리 (silver1) 파이썬 풀이

ebson 2023. 6. 4. 15:15

1. R, G, B 를 선택한 경우 N번 집까지 가는 최소값을 각각 dp[n][0], dp[n][1], dp[n][2] 으로 저장한다.

2. dp[n-1][0], dp[n-1][1], dp[n-1][2] 중 최소값을 출력한다.

 

N = int(input())
dp = [list(map(int, input().split())) for _ in range(N)]

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

print(min(dp[N-1][0], dp[N-1][1], dp[N-1][2]))

 

dp[y][x] 값을 y번째 집을 x(0:R, 1:G, 2:B)으로 칠했을 때 누적값의 최소값으로 저장할 수 있다.

Comments