[백준] 2839번: 설탕 배달

짜장범벅·2022년 7월 24일
0

백준

목록 보기
3/26

1 문제

N을 입력 받으면 5, 3으로 구성할 수 있는 최소값 출력
출력할 수 없다면 -1 리턴
문제 링크

2 구현

2.1 Idea

N을 5로 나눈 몫과 나머지를 계산하고 나머지가 3으로 나누어 떨어지는 경우 5의 몫+3의 몫으로 리턴
만약 위의 방법으로 구할 수 없는 경우 3을 사용하는 것을 강제해가며 계산

2.2 Code

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

#include <iostream>
#include <vector>

int SugarDelivery(const int N){
    int answer = -1;

    for (int i=N/5; i>=0; --i){
        const int remain = N-(i*5);
        
        if (remain%3 == 0){
            answer = i+(remain/3);
            return answer;
        }
    }

    return answer;
}

int main(){
    int N = 0;
    std::cin >> N;

    std::cout << SugarDelivery(N) << std::endl;
}
profile
큰일날 사람

0개의 댓글