문제 출처: https://www.acmicpc.net/problem/2839




최소 개수를 출력해야 하므로 3킬로그램 봉지보다 5킬로그램 봉지를 주로 써야 한다.

N이 18일 때: (3,3,3,3,3,3)=6개, (5,5,5,3)=4개


1. N을 5로 나누었을 때 나누어 떨어지는 경우, N/5을 결과 값으로 출력한다.

2. N을 5로 나누었을 때 나누어 떨어지지 않는 경우, N에서 3을 뺀다. (=3킬로그램 봉지를 사용한 꼴)

3. N의 개수가 0 이하가 될 때까지 반복한다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main {
    
    public static void main(String[] args) throws NumberFormatException, IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(reader.readLine());
        int count = 0;
        
        while(N%!= && N > 0){
            N -= 3;
            count++;
        }
        
        if(N<0)
            System.out.println(-1);
        else
            System.out.println(count + N/5);
    }
}
 
cs



'Algorithm' 카테고리의 다른 글

백준 1065번: 한수  (0) 2018.10.04
백준 4673번: 셀프 넘버  (0) 2018.10.04
백준 1019번: 책 페이지  (0) 2018.09.27
백준 1339번: 단어 수학  (0) 2018.09.23
백준 1940번: 주몽  (0) 2018.09.23

+ Recent posts