백준/c

백준_2839_설탕배달

S0LL 2024. 5. 8. 17:22

 

총 설탕 무게가 주어졌을 때, 3kg 봉지와 5kg 봉지를 각각 몇 개 사용하면 가장 적은 포대로 옮길 수 있는지 구하는 문제입니다.

 

입력받는 설탕의 무게를 n, 3kg 봉지의 개수를 x, 5kg 봉지의 개수를 y 라고 했을 때,

3x + 5y = n 의 방정식을 풀면 됩니다.

 

n은 주어졌기 때문에 x 와 y 에 하나씩 대입해가며 구하면 될 것 같습니다.

 

범위가 크지 않기 때문에 하나씩 대입해서 풀어도 상관 없을 것 같습니다.

 

 

전체 코드)

#include <stdio.h>

int main(void)
{
    int sugar = 0;
    scanf("%d", &sugar);

    int x = 0, y = 0;
    int check = 0;
    for (int x = 0; x < 1333; x++)
    {
        for (int y = 0; y <= 1000; y++)
        {
            if (3 * x + 5 * y == sugar)
            {
                check++;
                printf("%d\n", x + y);
                return 0;
            }
        }
    }
    if (check == 0)
    {
        printf("-1\n");
    }
    return 0;
}

 

x와 y의 범위는 문제에서 주어진 조건에 따라 5000을 넘지 않도록 설정했습니다.

'백준 > c' 카테고리의 다른 글

백준_1929_소수구하기  (0) 2024.05.12
백준_10816_숫자카드2  (0) 2024.05.08
백준_24511_queuestack  (0) 2024.05.08
백준_12789_도키도키간식드리미  (0) 2024.05.06
백준_10773_제로_(stack)  (0) 2024.05.05