풀이
5kg 봉지를 최대한 많이 들때, 배달하는 봉지의 개수가 최소인점을 이용해 풀이했다.
- 입력받은 N을 5(kg)로 나누었을 때 나머지가 0이면 몫이 봉지의 개수이다.
- 나머지가 0이 아니라면, 몫(cnt)을 한 개씩 줄이고, 3(kg)봉지를 몇개를 추가해야 알맞게 배달할 수 있는지 계산한다.
- 만약, 나누어 떨어지지 않는다면 cnt는 -1로 감소하며, -1을 출력할 것이다.
소스코드
#include <stdio.h>
int main() {
int N, cnt = 0;
scanf("%d", &N);
cnt = N / 5;
if (N % 5)
for (; cnt >= 0; cnt--)
if ((N - 5 * cnt) % 3 == 0) {
cnt += (N - 5*cnt) / 3;
break;
}
printf("%d\n", cnt);
}
출처
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 1436] 영화감독 숌 [C] (0) | 2021.07.27 |
---|---|
[백준 2869] 달팽이는 올라가고 싶다 [C] (0) | 2021.07.27 |
[백준 15829] Hashing [C] (0) | 2021.07.25 |
[백준 2775] 부녀회장이 될테야 [C] (0) | 2021.07.25 |
[백준 2231] 분해합 [C] (0) | 2021.07.25 |