[BOJ1149] RGB 거리

Updated:

모든 집을 색칠하는 최소비용

  • 집 N 개, 1번 집부터 N번 집까지
  • 빨초파 하나의 색으로 칠하기
  • 각 색으로 칠하는 비용 존재
  • 특정 집은 양 옆의 집과 다른 색이어야함

입력

  • 집의 수 N(2<= N <= 1000)
  • 둘째 줄부터 N개의 줄까지 빨초파 색칠하는 비용 (<= 1000)

출력

  • 모든 집을 칠하는 비용의 최솟값

설계

  • 각 색깔을 칠했을 때 비용이 최소가 되는 경우를 구해야함
  • 즉, 특정 집을 R로 칠했을 때, 이전 집은 G, B로 칠한 것 중 작은 값에, R에 해당하는 비용을 추가
  • dp[numHome][color1] = MIN(dp[numHome - 1][color2], dp[numHome - 1][color3]) + case[numHome][color1]
  • 각각의 색 RGB에 대해 모두 구하여, 그 셋 중에서도 최소값 출력

How I solved(click to github)


ref :
BOJ1149

Leave a comment