8/16

chi·2024년 8월 16일

백준

목록 보기
13/20

2720

#include <stdio.h>

int main() {
    int T, C;
    int quarters, dimes, nickels, pennies;

    scanf("%d", &T);

    for (int i = 0; i < T; i++) {
        scanf("%d", &C);

        quarters = C / 25;
        C = C % 25;
        
        dimes = C / 10;
        C = C % 10;
        
        nickels = C / 5;
        C = C % 5;
        
        pennies = C;

        printf("%d %d %d %d\n", quarters, dimes, nickels, pennies);
    }

    return 0;
}

코드 설명
첫째 줄에 테스트 케이스의 수 T를 입력받음
각 테스트 케이스마다 거스름돈 C를 입력받음

쿼터(25센트), 다임(10센트), 니켈(5센트)의 개수를 계산하고 남은 금액을 업데이트
마지막으로 남은 센트는 페니(1센트)의 개수가 됨

계산된 각 동전의 개수를 출력

3059

#include <stdio.h>
#include <string.h>

int main() {
    int T;
    scanf("%d", &T);
    
    int totalAsciiSum = 0;
    for (int i = 65; i <= 90; i++) {
        totalAsciiSum += i;
    }

    while (T--) {
        char S[1001];
        scanf("%s", S);

        int appearedAsciiSum = 0;
        int seen[26] = {0};  

        for (int i = 0; i < strlen(S); i++) {
            int index = S[i] - 'A';
            if (!seen[index]) {
                appearedAsciiSum += S[i];
                seen[index] = 1;
            }
        }

        int result = totalAsciiSum - appearedAsciiSum;
        printf("%d\n", result);
    }

    return 0;
}

코드 설명
totalAsciiSum 변수는 알파벳 대문자(AZ) 전체의 아스키 코드 값의 합을 계산
AZ의 아스키 코드 값은 65부터 90까지임

입력된 문자열 S에서 각 문자가 등장했는지 여부를 seen 배열로 확인
배열의 크기는 알파벳개수 26개 각 인덱스는 각 알파벳에 해당
등장한 문자의 아스키 코드 값의 합을 appearedAsciiSum에 저장

총 아스키 코드 값에서 등장한 알파벳의 아스키 코드 값의 합을 빼면 등장하지 않은 알파벳의 아스키 코드 값의 합이 나옴

입력 데이터 수 T를 받아 반복문을 통해 각 테스트 케이스에 대한 결과를 출력

0개의 댓글