PS/Baekjoon Online Judge

[백준 2839] 설탕 배달 [C]

kimyoungrok 2021. 7. 25. 22:28

백준 - 2839


풀이

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);
}

출처

 

2839번: 설탕 배달

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

www.acmicpc.net