반응형
링크
https://www.acmicpc.net/problem/2839
설명
최대한 많이 5kg 설탕 봉지를 사용해야 하는 문제입니다.
그렇기 때문에 N이 5의 배수라면 5로 나눈 몫을 출력하면 되고,
아니라면 N이 5의 배수가 될 때까지 3kg씩 계속해서 빼주고, 5의 배수가 된다면 5로 나눈 몫을 카운트 해주면 됩니다.
만약 3으로 계속 빼는데 음수가 된다면 정확하게 N킬로그램을 만들 수 없는 경우이기 때문에 반복문을 빠져나와서 -1을 출력하면 됩니다.
코드
//2839_설탕 배달
#include <cstdio>
using namespace std;
int n, cnt;
int main() {
scanf("%d", &n);
while (1) {
if (n % 5 == 0) { // 5의 배수 또는 0
cnt += n / 5;
break;
}
n -= 3; // 3을 빼주고 카운트(3kg 설탕 봉지)
cnt++;
if (n < 0) { // 정확하게 N 킬로그램을 만들 수 없을 때
printf("-1\n");
return 0;
}
}
printf("%d\n", cnt);
return 0;
}
반응형
'PS > BOJ' 카테고리의 다른 글
[백준 BOJ] 2869 달팽이는 올라가고 싶다 (0) | 2020.03.07 |
---|---|
[백준 BOJ] 2292 벌집 (1) | 2020.03.07 |
[백준 BOJ] 4673 셀프 넘버 (0) | 2020.03.01 |
[백준 BOJ] 1065 한수 (0) | 2020.02.29 |
[백준 BOJ] 3047 ABC (0) | 2019.08.13 |