포스트

30802번. 웰컴 키트 - C++

30802번. 웰컴 키트 - C++

문제 링크

웰컴 키트

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
using namespace std;

int main() {
    const int ARR_SIZE = 6;
    int n, t, p;
    int size[ARR_SIZE];
    
    scanf("%d", &n);
    for (int i = 0; i < ARR_SIZE; i++) {
        scanf("%d", &size[i]);
    }
    scanf("%d %d", &t, &p);
    
    int tt = 0; // 티셔츠 묶음 수
    for (int i = 0; i < ARR_SIZE; i++) {
        int x = size[i] / t;
        int y = size[i] % t;
        
        if (y != 0) {
            tt += x + 1; // t의 배수가 아닐 때
        } else {
            tt += x; // t의 배수일 때
        }
    }
    
    int pp = n / p; // 펜 묶음 수
    int pi = n % p; // 한 묶음 당 펜 자루
    
    printf("%d\n%d %d", tt, pp, pi);

    return 0;
}

설명

티셔츠는 남아도 되지만 부족해서는 안 되고 신청한 사이즈대로 나눠주어야 합니다. 펜은 남거나 부족해서는 안 되고 정확히 참가자 수만큼 준비되어야 합니다.

티셔츠 묶음 수는 사이즈를 저장한 배열을 돌면서 계산했다. 만약 XL 사이즈를 9명이 신청했고 한 묶음 당 5장이라면 9 / 5 = 1이므로 일단 1묶음을 주문한다. 그리고 9 % 5 = 4이므로 4장을 더 주문해야 하니 1묶음을 더 추가하여 최종 x는 2가 된다.

펜 묶음 수는 전체 인원 수를 P자루로 나눈 몫을 취하고, 나머지는 낱개로 주문한다.

배운 점

펜을 낱개로 주문해도 된다는 걸 이제야 깨달았다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.