다음은 소스코드 이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class DP_RGB_Street_1149 { public static void main(String[] args) { int R = 0, G = 1, B =2; // 빨 , 파, 초 순서 Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // 집의 수 : 반복 횟수 int[][]arr = new int[n][3]; // 집을 칠할때 드는 비용. 맨 마지막 칸은 최종합 arr[0][R] = sc.nextInt(); arr[0][G] = sc.nextInt(); arr[0][B] = sc.nextInt(); for(int i=1; i<n; i++) { arr[i][R] = Math.min(arr[i-1][G], arr[i-1][B])+sc.nextInt(); // 이전의 Green과 Blue 중 작은값이 Red자리에 올 수 있음 arr[i][G] = Math.min(arr[i-1][R], arr[i-1][B])+sc.nextInt(); // 이전의 Red과 Blue 중 작은값이 Green자리에 올 수 있음 arr[i][B] = Math.min(arr[i-1][G], arr[i-1][R])+sc.nextInt(); // 이전의 Green과 Red 중 작은값이 Blue자리에 올 수 있음 } //시작이 색에 따라 정해지는 최소 비용 0:Red, 1:Green, 2:Blue int result = Math.min(arr[n-1][0],Math.min(arr[n-1][1], arr[n-1][2])); System.out.println(result); } } | cs |
'Problem Solving > 백준' 카테고리의 다른 글
[백준 BOJ] 5430_AC (0) | 2019.11.24 |
---|---|
[백준 BOJ] 1707_이분 그래프 (0) | 2019.11.18 |
[백준 BOJ] 1152번_단어의 개수 (0) | 2019.11.18 |
알고리즘 문제풀이(Java) - 백준 9095번(1, 2, 3 더하기) (0) | 2019.01.17 |
알고리즘 문제풀이(Java) - 백준 9012번(괄호검사) (0) | 2019.01.11 |