반응형
문제
문제 설명
i번째 집을 각각의 색으로 칠할 때, 1~i번째 집을 모두 칠하는 최소 비용으로 부분문제를 정의해봅시다.
설명 추가 예정
성공 코드
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int[][] rgb = new int[3][n+1];
for (int i = 0; i < n; i++){
rgb[0][i] = s.nextInt();
rgb[1][i] = s.nextInt();
rgb[2][i] = s.nextInt();
}
for (int i = 1; i < n; i++){
rgb[0][i] += Math.min(rgb[1][i-1], rgb[2][i-1]);
rgb[1][i] += Math.min(rgb[0][i-1], rgb[2][i-1]);
rgb[2][i] += Math.min(rgb[1][i-1], rgb[0][i-1]);
}
System.out.println(Math.min(rgb[0][n-1],
Math.min(rgb[1][n-1], rgb[2][n-1]) ));
}
}
반응형