[파이썬/python] 백준 1149번 : RGB거리(🥈1)

 

n = int(input())
house = []

for i in range(n):
    house.append(list(map(int,input().split())))
    
for i in range(1, n):
    house[i][0] += min(house[i-1][1], house[i-1][2])
    house[i][1] += min(house[i-1][0], house[i-1][2])
    house[i][2] += min(house[i-1][0], house[i-1][1])
print(min(house[-1]))

서로 이웃한 집이 같은 색이면 안 되기 땜누에 같은 열에 있는 수는 더해주면 안 된다.

house[i]의 0번째 위치에는 [i-1]의 1번째와 2번째 중 작은 것을 선택하여 더하고,

1번째는 0,2, 2번째에는 0,2번째 중 작은 것을 선택하여 누적하여 더한다.

 

comment