#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;
}

'코딩테스트 > C' 카테고리의 다른 글

백준 11005 진법 변환 2  (2) 2024.07.14
백준 2745 진법 변환  (0) 2024.07.14
백준 2563 색종이  (0) 2024.07.13
백준 10798 세로 읽기  (0) 2024.07.13
백준 2566 최댓값  (0) 2024.07.13
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

#define ZERO 48
#define A 65
#define SIZE 100

int main()
{
    /* Declare variables */
    int DECIMAL;
    int BASE;
    char ans[SIZE];

    int remainder;
    int idx;
    int i;

    /* Initiallize variables */
    memset(ans, '\0', SIZE);
    idx = 0;

    /* Get input */
    scanf("%d", &DECIMAL);
    scanf("%d", &BASE);
    
    while (DECIMAL > 0)
    {
        remainder = (DECIMAL % BASE);
        if (remainder < 10)
        {
            remainder += ZERO;
        }
        else{
            remainder += A - 10;
        }
        ans[idx] = (char)remainder;
        idx++;
        DECIMAL = DECIMAL / BASE;
    }

    for (i = 0; i < idx; i++)
    {
        printf("%c",ans[idx - i - 1]);
    }
    printf("\n");

}

'코딩테스트 > C' 카테고리의 다른 글

백준 2720 세탁소 사장 동혁  (1) 2024.07.14
백준 2745 진법 변환  (0) 2024.07.14
백준 2563 색종이  (0) 2024.07.13
백준 10798 세로 읽기  (0) 2024.07.13
백준 2566 최댓값  (0) 2024.07.13
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

#define ZERO 48
#define A 65
#define SIZE 100

int main()
{
    /* Declare Variables */
    char NUMBER[SIZE];
    int number[SIZE];
    int base;
    int ans;
    size_t len;

    int i;
    int temp;

    /* Initialize Variables */
    memset(NUMBER,'\0',SIZE);
    ans = 0;

    /* Get Inputs */
    scanf("%s", &NUMBER);
    scanf("%d", &base);

    len = strlen(NUMBER);

    /* Convert character to integer */
    for (i = 0; i < len; i++)
    {
        if (NUMBER[i] >= ZERO && NUMBER[i] < A)
        {
            number[i] = (int)NUMBER[i] - ZERO;
        }
        else if (NUMBER[i] >= A)
        {
            number[i] = (int)NUMBER[i] - A + 10;
        }
    }

    /* Convert N base to decimal */
    for (i = 0; i < len; i++)
    {
        temp = number[len - i - 1] * pow(base, i);
        ans = ans + temp;
    }

    /* Print output */
    printf("%d\n", ans);
    
}

'코딩테스트 > C' 카테고리의 다른 글

백준 2720 세탁소 사장 동혁  (1) 2024.07.14
백준 11005 진법 변환 2  (2) 2024.07.14
백준 2563 색종이  (0) 2024.07.13
백준 10798 세로 읽기  (0) 2024.07.13
백준 2566 최댓값  (0) 2024.07.13
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define SIZE 100
#define WIDTH 10

void initPaper(int (*whitePaper)[SIZE]);
void fillBlackPaper(int (*whitePaper)[SIZE], int x, int y);
int countBlackPaper(int (*whitePaper)[SIZE]);

int main()
{
    /* Declare Variables */
    int whitePaper[SIZE][SIZE];
    int numColorPaper;
    int xColorPaper;
    int yColorPaper;
    int i;
    int area;

    /* Initialize Variables */
    initPaper(whitePaper);

    /* Get Input */
    scanf("%d", &numColorPaper);

    /* Get Color Paper */
    for (i = numColorPaper; i > 0; i--)
    {
        scanf("%d", &xColorPaper);
        scanf("%d", &yColorPaper);
        xColorPaper--;
        yColorPaper--;
        fillBlackPaper(whitePaper, xColorPaper, yColorPaper);
    }
    area = countBlackPaper(whitePaper);
    printf("%d\n", area);
}

void initPaper(int (*whitePaper)[SIZE])
{
    /* Declare Variables */
    int row;
    int col;

    /* Fill White Paper */
    for (row = SIZE-1; row != -1; row--)
    {
        for (col = SIZE-1; col != -1; col--)
        {
            whitePaper[row][col] = 0;
        }
    }
}

void fillBlackPaper(int (*whitePaper)[SIZE], int x, int y)
{
    /* Declare Variables */
    int row;
    int col;

    /* Fille Black Paper */
    for (col = x; col < x + WIDTH; col++)
    {
        for(row = ((SIZE-1) - y); (row != ((SIZE - 1) - y - WIDTH )); row--)
        {
            if (
                (row < 0) |
                (row >= SIZE) | 
                (col < 0) |
                (col >= SIZE)
            )
            {
            break;
            }
            whitePaper[row][col] = 1;
        }
    }
}

int countBlackPaper(int (*whitePaper)[SIZE])
{
    /* Declare Variables */
    int cnt;
    int row;
    int col;

    /* Initialize Variables */
    cnt = 0;

    for (row = 0; row < SIZE; row++)
    {
        for (col = 0; col < SIZE; col++)
        {
            if (whitePaper[row][col] == 1)
            {
                cnt++;
            }
        }
    }
    return cnt;
}

'코딩테스트 > C' 카테고리의 다른 글

백준 11005 진법 변환 2  (2) 2024.07.14
백준 2745 진법 변환  (0) 2024.07.14
백준 10798 세로 읽기  (0) 2024.07.13
백준 2566 최댓값  (0) 2024.07.13
백준 2738 행렬덧셈  (0) 2024.07.13
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define ROW 5
#define COL 16


int main()
{
    /* Declare Variables */
    char board[ROW][COL];
    char verticalBoard[ROW * COL];

    int row;
    int col;
    int idx;
    int size;

    /* Initialize Variable */
    idx = 0;

    /* Get Input */
    for (row = 0; row < ROW; row++)
    {
        fgets(board[row], COL, stdin);
    }

    /* Get vertical */
    for (col = 0; col < COL; col++)
    {
        for (row = 0; row < ROW; row++)
        {
            size = strlen(board[row]);
            if ((size - 1) < col)
            {
                /* Empty */
            }
            else
            {
                verticalBoard[idx] = board[row][col];
                idx++;
            }

        }
    }
    
    /* Print output */
    for (col = 0; col < idx; col++)
    {   
        if (verticalBoard[col] == '\n')
        {
            /* Filter EOF */
        }
        else
        {
            printf("%c",verticalBoard[col]);
        }

    }
    printf("\n");

}

'코딩테스트 > C' 카테고리의 다른 글

백준 2745 진법 변환  (0) 2024.07.14
백준 2563 색종이  (0) 2024.07.13
백준 2566 최댓값  (0) 2024.07.13
백준 2738 행렬덧셈  (0) 2024.07.13
25206 너의 학점은  (0) 2024.07.13
#include <stdio.h>

#define SIZE 9

void getMaximum(int (*matrix)[SIZE], int *maximum);

int main(void)
{
    /* Declare Variables */
    int matrix[SIZE][SIZE];
    int row;
    int col;
    int max_row;
    int max_col;
    int maximumValue[3];

    /* Get Matrix */
    for (row = 0; row < SIZE; row++)
    {
        for (col = 0; col < SIZE; col++)
        {
            scanf("%d", &matrix[row][col]);
        }
    }

    /* Calculate Maximum Value */
    getMaximum(matrix, maximumValue);

    /* Print Output */
    printf("%d\n", maximumValue[0]);
    printf("%d %d\n", maximumValue[1], maximumValue[2]);

}

void getMaximum(int (*matrix)[SIZE], int *maximum)
{   
    /* Declare Variable */
    int row;
    int col;

    /* Initialize Variable */
    maximum[0] = 0;
    maximum[1] = 1;
    maximum[2] = 1;

    /* Get Maximum Value*/
    for (row = 0; row < SIZE; row++)
    {
        for (col = 0; col < SIZE; col++)
        {
            if (matrix[row][col] > maximum[0])
            {
                maximum[0] = matrix[row][col];
                maximum[1] = row + 1;
                maximum[2] = col + 1;
            }
            /* Limitation value */
            else if (matrix[row][col] == 99)
            {
                maximum[0] = matrix[row][col];
                maximum[1] = row + 1;
                maximum[2] = col + 1;
                return;
            }
            else
            {
                /* Empty */
            }
        }
    }
}

'코딩테스트 > C' 카테고리의 다른 글

백준 2563 색종이  (0) 2024.07.13
백준 10798 세로 읽기  (0) 2024.07.13
백준 2738 행렬덧셈  (0) 2024.07.13
25206 너의 학점은  (0) 2024.07.13
백준 1316번 그룹 단어 체커  (0) 2024.07.06
#include <stdio.h>
#include <string.h>

#define MAX 100

int main()
{
    /* Declare Variables */
    int matrix_A[MAX][MAX];
    int matrix_B[MAX][MAX];

    int M;
    int N;

    int n;
    int m;

    int element;

    /* Get Input */
    scanf("%d", &N);
    scanf("%d", &M);

    /* Get Matrix A */
    for (n = 0; n < N; n++)
    {
        for (m = 0; m < M; m++)
        {
            scanf("%d", &element);
            matrix_A[n][m] = element;
        }
    }
    /* Get Matirx B */
    for (n = 0; n < N; n++)
    {
        for (m = 0; m < M; m++)
        {
            scanf("%d", &element);
            matrix_B[n][m] = element;
        }
    }
    /* Calculate Matrix Sum */
    for (n = 0; n < N; n++)
    {
        for (m = 0; m < M; m++)
        {
            matrix_A[n][m] = matrix_A[n][m] + matrix_B[n][m];
        }
    }
    /* Print Matrix */
    for (n = 0; n < N; n++)
    {
        for (m = 0; m < M; m++)
        {
            printf("%d", matrix_A[n][m]);
            if (m != (M-1))
            {
                printf(" ");
            }
        }
        printf("\n");
    }
}

'코딩테스트 > C' 카테고리의 다른 글

백준 10798 세로 읽기  (0) 2024.07.13
백준 2566 최댓값  (0) 2024.07.13
25206 너의 학점은  (0) 2024.07.13
백준 1316번 그룹 단어 체커  (0) 2024.07.06
백준 2941번 크로아티아 알파벳  (0) 2024.07.06
#include <stdio.h>
#include <string.h>

#define ITER 20
#define MAX 51

float convertGrade(char* strGrade);

int main(void)
{
    /* Declare Variables */
    char subject[MAX];
    char grade[4];

    float credit;
    float sum_credit;
    float gpa;

    float float_grade;
    float sum_grade;
    
    int i;

    /* Initialize Variables */
    sum_grade = 0.0;
    sum_credit = 0.0;

    /* Operate Logics */
    for (i = 0; i < ITER; i++)
    {
        scanf("%s", &subject);
        scanf("%f", &credit);
        scanf("%s", &grade);

        // printf("%s\n", subject);
        // printf("%f\n", credit);
        // printf("%s\n", grade);

        float_grade = convertGrade(grade);

        if (float_grade == -1.0)
        {

        }
        else
        {
            sum_grade = sum_grade + (float_grade * credit);
            sum_credit = sum_credit + credit;
        }
    }
    gpa = sum_grade / sum_credit;

    printf("%.5f\n", gpa);
}

float convertGrade(char* strGrade)
{
    /* Declare Variables */
    float grade;

    if (strcmp(strGrade, "A+") == 0)
    {
        grade = 4.5;
    }
    else if (strcmp(strGrade, "A0") == 0)
    {
        grade = 4.0;
    }
    else if (strcmp(strGrade, "B+") == 0)
    {
        grade = 3.5;
    }
    else if (strcmp(strGrade, "B0") == 0)
    {
        grade = 3.0;
    }
    else if (strcmp(strGrade, "C+") == 0)
    {
        grade = 2.5;
    }
    else if (strcmp(strGrade, "C0") == 0)
    {
        grade = 2.0;
    }
    else if (strcmp(strGrade, "D+") == 0)
    {
        grade = 1.5;
    }
    else if (strcmp(strGrade, "D0") == 0)
    {
        grade = 1.0;
    }
    else if (strcmp(strGrade, "F") == 0)
    {
        grade = 0.0;
    }
    else if (strcmp(strGrade, "P") == 0)
    {
        grade = -1.0;
    }
    else
    {

    }
    return grade;
}

'코딩테스트 > C' 카테고리의 다른 글

백준 2566 최댓값  (0) 2024.07.13
백준 2738 행렬덧셈  (0) 2024.07.13
백준 1316번 그룹 단어 체커  (0) 2024.07.06
백준 2941번 크로아티아 알파벳  (0) 2024.07.06
백준 1175번 단어공부  (0) 2024.07.06

+ Recent posts