Algorithm
백준_설탕 배달_2839
Young_J
2020. 11. 7. 23:20
//알고리즘
1. dp
2. 입력값의 최대가 5000이기 때문에 5000개 이상의 배열을 만들어 계산함.
3. 3의 배수와 5의배수를 확인해야 하기 때문에 0,1,2,4는 아주 큰값으로 먼저 설정하고 6부터 계산함.
더보기
import java.util.Scanner;
public class 설탕배달_2839 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] dp = new int[5003];
dp[0] = dp[1] = dp[2] = dp[4] = Integer.MAX_VALUE;
dp[3] = dp[5] = 1;
for (int i = 6; i < dp.length; i++) {
dp[i] = Math.min(dp[i-3], dp[i-5]) ==Integer.MAX_VALUE?Integer.MAX_VALUE:Math.min(dp[i-3], dp[i-5])+1;
}
System.out.println(dp[N]==Integer.MAX_VALUE?-1:dp[N]);
}
}