20251031 baekjoon

This commit is contained in:
songyc macbook 2025-10-31 20:58:44 +09:00
parent 711f05187f
commit 86a01e2d17

View File

@ -17,21 +17,23 @@ for _ in range(N) :
result = []
for i in range(3) :
dpR = [maxCost if i != 0 else R[0]]
dpG = [maxCost if i != 1 else G[0]]
dpB = [maxCost if i != 2 else B[0]]
prevR = maxCost if i != 0 else R[0]
prevG = maxCost if i != 1 else G[0]
prevB = maxCost if i != 2 else B[0]
for n in range(1, N) :
r, g, b = R[n], G[n], B[n]
dpR.append(r + min(dpG[n-1], dpB[n-1]))
dpG.append(g + min(dpR[n-1], dpB[n-1]))
dpB.append(b + min(dpR[n-1], dpG[n-1]))
curR = r + min(prevG, prevB)
curG = g + min(prevR, prevB)
curB = b + min(prevR, prevG)
prevR, prevG, prevB = curR, curG, curB
if i==0 :
result.append(min(dpG[N-1], dpB[N-1]))
result.append(min(prevG, prevB))
elif i==1 :
result.append(min(dpR[N-1], dpB[N-1]))
result.append(min(prevR, prevB))
else :
result.append(min(dpR[N-1], dpG[N-1]))
result.append(min(prevR, prevG))
print(min(result))