티스토리 뷰

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]);
	}

}

'Algorithm' 카테고리의 다른 글

백준_벽부수고 이동하기_2206  (0) 2020.11.09
백준_색종이 만들기_2630  (0) 2020.11.08
백준_낚시왕_17143  (0) 2020.11.06
백준_경비원_2564  (0) 2020.11.05
백준_양치기 꿍_3187  (0) 2020.11.03
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함