최대 1 분 소요

[백준 2839번] 설탕 배달

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
29
30
31
32
33
34
35
36
37
package _1월_3주차;
 
import java.util.Scanner;
public class 백준_손수경_정답_2839 {
 
    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int cnt = 0;
        while (true) {
            
            //5로 나누어 떨어지면 n / 5 만큼의 봉지가 필요함 -> 최소 개수를 구하기 위해서 5키로가 많을 수록 좋음!
            if (n % 5 == 0) {
                cnt += n / 5;
                n -= n;
            }
            
            if (n <= 0) {
                break;
            }
            
            //만약에 5로 나누어 떨어지지 않으면 3키로 1봉지만큼을 빼고 다시 5로 나누어 떨어지는지 아닌지 확인
            n -= 3;
            cnt++;
            
        }
        //n = 0이라는 것은 3, 5키로로 최소 개수를 만들 수 있다는 것이고, n < 0이라는 것은 최소 개수로 만들 수 없다는 것이다. 
        if (n == 0) {
            System.out.println(cnt);
        }
        else {
            System.out.println(-1);
        }
    }
 
}
cs

가능한 설탕 봉지의 최소 개수를 구하는 것이므로 5키로 봉지가 많을 수록 최소 개수가 된다.

댓글남기기