문제 출처: 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%5 != 0 && 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 |