코딩테스트/C

백준 2720 세탁소 사장 동혁

호중조 2024. 7. 14. 12:13
#include <stdio.h>
#include <stdlib.h>

#define SIZE     1000
#define Quater   25
#define Dime     10
#define Nickel   5
#define Penny    1

void calculateChange(int pay, int *numberOfQuater, int *numberOfDime, int *numberOfNickel, int *numberOfPenny);

int main()
{
    /* Declare variables */
    // const float Quater  = 0.25f;
    // const float Dime    = 0.10f;
    // const float Nickel  = 0.05f; 
    // const float Penny   = 0.01f;

    int pay[SIZE];
    int numberOfQuater;
    int numberOfDime;
    int numberOfNickel;
    int numberOfPenny;
    int T;
    int idx;
    int i;

    /* Initialize variables */
    idx = 0;

    /* Get input */
    scanf("%d", &T);

    for (i = 0; i < T; i++)
    {
        scanf("%d", &pay[i]);
    }

    for (i = 0; i < T; i++)
    {
        calculateChange(pay[i], &numberOfQuater, &numberOfDime, &numberOfNickel, &numberOfPenny);
        printf("%d %d %d %d\n", numberOfQuater, numberOfDime, numberOfNickel, numberOfPenny);
    }
}

void calculateChange(int pay, int *numberOfQuater, int *numberOfDime, int *numberOfNickel, int *numberOfPenny)
{
    /* Declare variables */
    int i;
    float devide;
    int temp;

    /* Initialize variables */
    *numberOfQuater = 0;
    *numberOfDime = 0;
    *numberOfNickel = 0;
    *numberOfPenny = 0;
    
    temp = pay;

    devide = temp / Quater;
    *numberOfQuater = (int)devide;
    temp = temp % Quater;

    devide = temp / Dime;
    *numberOfDime = (int)devide;
    temp = temp % Dime;

    devide = temp / Nickel;
    *numberOfNickel = (int)devide;
    temp = temp % Nickel;

    devide = temp / Penny;
    *numberOfPenny = (int)devide;
}