

1. 문제 분석
1) 선분 위의 집들을 빨, 초, 파 중 하나로 칠해야 한다.
2) 집마다 각 색깔로 칠할때의 비용이 주어질 때, 최솟값 출력하기'
3) 이전 집과 색깔이 같으면 안됨
2. 제약 조건
1) 2 <= N <= 1000
2) 1 <= 집을 칠하는 비용 <= 1000
3. 최초 의사결정
1) 첫째 줄에서 N을 받고, N만큼 for문을 돌리면서
2) 각 줄을 받으면서 바로 계산하여 저장하자.
3) 각 줄을 받고, 일단 이전 집과 같지 않다면 최소값 저장 시도한다. > 안되면 중간값 > 안되면 최대값
4) 저장한 뒤에 비용 합산도 실행한다.
--> 전체 확인 XX DP로 점화식 찾아서 풀어야 한다!
4. DP로 풀어보기
1) hap = 이전 집을 다른 색으로 칠한 최소 비용 + 현재 색의 비용이다.
dp[i][0] = i번째 집을 빨강으로 칠했을 때의 최소 비용 = min(dp[i-1][1], d[i-1][2]) + cost[i][0]
dp[i][1] = i번째 집을 초록으로 칠했을 때의 최소 비용 = min(dp[i-1][0], d[i-1][2]) + cost[i][1]
dp[i][2] = i번째 집을 파랑으로 칠했을 때의 최소 비용 = min(dp[i-1][0], d[i-1][1]) + cost[i][2]
이렇게 해서 이중 테이블을 모두 채운 뒤.. 이중에서 최소값을 한번 더 구해서 출력한다.

풀이를 찾는데 오래걸려서ㅠ 이따 밤에 한번 더 풀어봐야겠다.
| 10610. 30 (0) | 2025.02.22 |
|---|---|
| 1051. 숫자 정사각형 (0) | 2025.02.21 |
| 10814. 나이순 정렬 (0) | 2025.02.17 |
| 2630. 색종이 만들기 (0) | 2025.02.13 |
| 20920. 영단어 암기는 괴로워 (0) | 2025.02.12 |