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

 

5킬로그램 봉지를 최대한 쓰고 나머지에 3킬로그램 봉지를 쓰면서 정확하게 N그램에 맞춰야한다. 그게 불가능하다면 -1을 출력해준다.

 

정답코드

#include "iostream"

using namespace std;

int main() {
    int n;
    cin >> n;

    int cnt = 0;

    
    while (n >= 0) {
        if (n % 5 == 0) {  // 5로 나누어 떨어지면
            cnt += n / 5;  // 5kg 봉지 개수 더함
            cout << cnt << endl;
            return 0;
        }
        n -= 3;  // 5로 나누어 떨어지지 않으면 3kg 봉지를 하나 사용
        cnt++;  // 3kg 봉지 사용했으므로 봉지 개수 추가
    }

    // 만약 정확히 N kg을 만들 수 없으면 -1 출력
    cout << -1 << endl;
    return 0;
}

 

정답코드2 

+ Recent posts