반응형
빨강을 0 초록을 1 파랑을 2라고 생각했을때
N번째가 빨강인 최소비용은 N-1번째가 초록인 최소비용이랑 N-1번째가 파랑인 최소비용중 최솟값 + N번째의 빨강비용입니다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[][] house = new int[N + 1][3];
int[][] D = new int[N + 1][3];
for (int i = 1; i <= N; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
house[i][0] = Integer.parseInt(st.nextToken());
house[i][1] = Integer.parseInt(st.nextToken());
house[i][2] = Integer.parseInt(st.nextToken());
}
for (int i = 1; i <= N; i++) {
D[i][0] = Math.min(D[i-1][1], D[i-1][2]) + house[i][0];
D[i][1] = Math.min(D[i-1][0], D[i-1][2]) + house[i][1];
D[i][2] = Math.min(D[i-1][0], D[i-1][1]) + house[i][2];
}
System.out.print(Math.min(Math.min(D[N][0], D[N][1]), D[N][2]));
}
}
반응형
'Algorithm' 카테고리의 다른 글
백준 1476번 날짜 계산 [ Java ] (0) | 2021.05.11 |
---|---|
백준 11728번 배열 합치기 [ Java ] (0) | 2021.05.10 |
백준 2525번 오븐 시계 [ Java ] (0) | 2021.05.07 |
백준 10797번 10부제 [ Java ] (0) | 2021.05.07 |
백준 1915번 가장 큰 정사각형 [ Java ] (0) | 2021.05.07 |