백준 Baekjoon

[C언어] 백준 2839 : 설탕 배달

sujo 2020. 11. 25. 20:19

백준 2839 : 설탕 배달

 

문제 링크

www.acmicpc.net/problem/2839

 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그

www.acmicpc.net

 

 

문제 내용

(요약) 설탕 봉지 3kg5kg이 있다. 설탕을 배달하기 위해 가장 적은 봉지로 들고 가려고 한다.

설탕을 정확하게 Nkg을 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오.

 

ex)

input : 18

output : 4

 

 

Idea

최대한 적은 봉지를 가져가야 하므로 

  1. 먼저 N이 5의 배수임을 확인한다.
  2. 5의 배수라면 몫을 cnt에 더해주고 반복문을 탈출한다.
  3. 5의 배수가 아니라면 N에서 3kg을 빼주고, cnt++
  4. N이 0보다 작거나 같다면 반복문 탈출
  5. 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 <= 0break;
    }
 
    if (N < 0printf("-1\n");
    else printf("%d\n", cnt);
}
cs