알고리즘

백준 2339번 설탕배달

이온시옥 2019. 2. 28. 18:06
반응형
/*

https://www.acmicpc.net/problem/2839
백준 2339번 설탕배달

*/

#include <iostream>

using namespace std;

int main() {

        int n;
        cin >> n;

        int five_pack = n / 5;
        int three_pack;

        while (true) {
            if (five_pack < 0) { //5kg봉지 갯수가 0보다 작으면 -1을 출력하고 프로그램 종료.                 //(5봉지를 하나도안쓰고.. 12,9,6,3kg 계산하는경우 제외해야함으로 부등호가"<="아니라 "<")
                cout << "-1" << endl;
                break;
            }
            else if ((n - five_pack * 5) % 3 == 0) { //전체수 n에서 5kg봉지를 모두 빼고 남은kg가 3으로 딱떨어진다면
                three_pack = (n - five_pack * 5) / 3; //3kg 봉지의 수를 구함.
                cout << five_pack + three_pack << endl; //5kg봉지와 3kg봉지를 더하고
                break;
            }
            else { //남은kg가 3으로 딱안떨어지면...
                five_pack--; //5kg봉지를 하나 줄이고 다시 반복문 수행.
            }

        }
    
    return 0;
}


반응형