본문 바로가기
PS 문제 풀이/Baekjoon

[BOJ] 백준 2839 설탕배달

by 까망 하르방 2022. 1. 21.
반응형

Approach

출처https://www.acmicpc.net/problem/2839

 

문제 요구사항을 토대로 쉽게 구현할 수 있는 문제이다.

5개와 3개짜리를 담을 수 있는 봉지가 있다.

 

봉지 개수를 최소화해야 하기 때문에

하나의 봉지에 많이 담을 수 있도록 5개 봉지 물량을 많이 확보해야 한다.

5개 봉지를 최대한으로 했을 때, 3개 짜리 봉지를 개수 조절해

모든 사탕을 담을 수 있는지 반복문으로 확인


#include <iostream>

using namespace std;

int N;

int main()
{   
    // freopen("input.txt", "r", stdin);
    cin >> N;
    // 봉지를 최소화 할 수 있게 5개 봉지를 최대한 많이 확보
    for (int i = N / 5; i >= 0; i--)
    {
        int j = 0;
        while (1)
        {
            int total = (5 * i) + (3 * j);
            
            if (total == N) // 사탕 개수가 맞춰진 경우
            {
                cout << (i + j) << endl; // 봉지 개수
                return 0;
            }
            else if (total > N)
                break;
            else
                j++; // 3개 담는 봉지 개수++
        }
    }
    cout << "-1" << endl;
}
반응형

댓글