[백준 / Java] 2839번 : 설탕 배달

개발자가 되고 싶어요 ㅣ 2023. 2. 18. 05:40

https://www.acmicpc.net/problem/2839

 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그

www.acmicpc.net

 


 


 

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
import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        // 총 용량 : 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
 
        // 3  개수 : 0 0 1 0 0 / 2 0 1 3 0  / 2  4  1  3  0  / 2  4  1  3  0  / 2  4  1  3  0
 
        // 5  개수 : 0 0 0 0 1 / 0 0 1 0 2  / 1  0  2  1  3  / 2  1  3  2  4  / 3  2  4  3  5
 
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
 
        if (n==4 | n == 7) {
            System.out.println(-1);
        } else if (n%5==1) {
            System.out.println(((n/5)-1)+2);
        } else if (n%5==2) {
            System.out.println(((n/5)-2)+4);
        } else if (n%5==3) {
            System.out.println((n/5)+1);
        } else if (n%5==4) {
            System.out.println(((n/5)-1)+3);
        } else if (n%5==0) {
            System.out.println(n/5);
        }
    }
}
cs


숫자들을 최소의 봉지 개수가 나오게끔 나눠봤다. 그랬더니 4의 용량과 7의 용량을 제외한 나머지 용량들을 5개씩 구분지어 나눴을때 3킬로그램짜리 봉지의 개수가 2 4 1 3 0 으로 일정했다. 5개를 기준으로 잡은 이유는 5킬로그램짜리 봉지의 개수가 많을수록 최소 봉지 개수가 되기 때문이다. 따라서 나머지는 조건문으로 쉽게 풀 수 있었다.

 

수학 문제는 항상 규칙성이 있다. 이해가 안가거나 해결이 어렵다면 때론 무식하게 나열 해보는 것이 좋은 방법이 될 수 있다.