[백준] 1149번(RGB거리)

·2023년 6월 12일

백준 문제풀이

목록 보기
80/159

백준 1149번


최종 제출 코드

n = int(input())

array = [0,0,0]

for j in range(n):
  a, b, c = map(int, input().split())
  ele1 = min(array[1]+a, array[2]+a)
  ele2 = min(array[0]+b, array[2]+b)
  ele3 = min(array[0]+c, array[1]+c)
  array[0] = ele1
  array[1] = ele2
  array[2] = ele3
  
print(min(array))

◼ 최적 경로를 찾는 것과 유사한 문제

  • array[0]은 직전에 r이 아닌 다른 색으로 칠해진 경로 중 이번에 r로 칠할 경우의 비용을 구하고 그 중 최소값을 원소로 저장한다.
  • array[1]g로 칠할 경우, array[2]b로 칠할 경우의 최소값을 원소로 저장한다.
profile
백엔드 개발자가 되고 싶어요(22.8.15~)

0개의 댓글