백준 2839 : 설탕 배달
문제 링크
문제 내용
(요약) 설탕 봉지 3kg과 5kg이 있다. 설탕을 배달하기 위해 가장 적은 봉지로 들고 가려고 한다.
설탕을 정확하게 Nkg을 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오.
ex)
input : 18
output : 4
Idea
최대한 적은 봉지를 가져가야 하므로
- 먼저 N이 5의 배수임을 확인한다.
- 5의 배수라면 몫을 cnt에 더해주고 반복문을 탈출한다.
- 5의 배수가 아니라면 N에서 3kg을 빼주고, cnt++
- N이 0보다 작거나 같다면 반복문 탈출
- 1~4 반복
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <stdio.h>
int main() {
int N, cnt = 0;
scanf("%d", &N);
while (1) {
if (N % 5 == 0) {
cnt += N / 5;
break;
}
N -= 3;
cnt++;
if (N <= 0) break;
}
if (N < 0) printf("-1\n");
else printf("%d\n", cnt);
}
|
cs |
'백준 Baekjoon' 카테고리의 다른 글
[C++] 백준 5568 : 카드 놓기 (0) | 2020.12.07 |
---|---|
[C++] 백준 1931 : 회의실배정 (0) | 2020.12.03 |
[C++] 백준 2667 : 단지번호붙이기 (0) | 2020.11.25 |
[C언어] 백준 9095 : 1, 2, 3 더하기 (0) | 2020.11.14 |
[C++] 백준 14501 : 퇴사 (0) | 2020.11.05 |