알고리즘

[JAVA] 백준 1149번 - RGB거리

ji_iin 2021. 7. 19. 15:13

문제

1149번: RGB거리

[ 해결순서 ]

  1. 처음엔 첫 줄의 최소 값을 구하고 다음 줄에는 그 줄의 색깔을 제외한 색깔 중 최소 값을 구하려 했다.
  2. 그러면 전체에서의 최소 값을 구하지 못함.
  3. 결국 전체 경우의 수를 구해야 함
  4. 해당 값을 구하려면 현재의 색깔을 제외한 색깔의 행과, 직전의 열을 값들을 비교해서 작은 값에 + 현재의 비용을 더함. (비용을 더하지 않는 실수를 함)
  5. 마지막 줄의 색깔 중 가장 작은 값이 정답

점화식

dp[i][red]=Math.min(dp[i-1][blue],dp[i-1][green])+cost[i][red]
//빨간 색 이라면, 그 전줄의 빨간 색이 아닌 파랑, 초록 중 작은 값 + 해당 값의 가격

✏️한줄평

DP 문제를 더 자주 풀어 익숙하게 해야겠다.


코드