본문 바로가기

BAEKJOON/수학

백준 11134번 [쿠키애호가](C++) -yes6686- 티스토리

728x90
SMALL

백준 문제 풀이: 11134 [쿠키애호가]


문제 링크: https://www.acmicpc.net/problem/11134

문제 설명:

한 마리의 쿠키몬스터가 한 번에 최대 c개의 쿠키를 먹을 수 있을 때, n개의 쿠키를 모두 먹기 위해 최소 몇 번을 먹어야 하는지를 구하는 문제입니다.

한 번 먹을 때 최대 c개까지 먹을 수 있으므로, nc로 나눈 후 나머지가 있으면 한 번 더 먹어야 합니다.


문제 해결 코드


#include <iostream>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL);

    int T;
    cin >> T; // 테스트 케이스 개수

    while (T--) {
        int n, c;
        cin >> n >> c; // 쿠키 수 n, 한 번에 먹을 수 있는 최대 개수 c

        // n을 c로 나누고 나머지가 있다면 한 번 더 먹어야 함
        if (n % c == 0) {
            cout << n / c << '\n';
        } else {
            cout << (n / c) + 1 << '\n';
        }
    }
}

예제 입력:

3
10 3
12 4
20 5

예제 출력:

4
3
4

코드 설명

  • 핵심 아이디어: 나머지가 존재하면 한 번 더 먹는다는 조건을 반영
  • 구현 세부사항:
    • n / c는 기본적으로 먹는 횟수
    • n % c가 0이 아니라면 쿠키가 남아 있으므로 한 번 더 필요
  • 시간 복잡도: O(T), 테스트 케이스 수만큼 반복

결과

단순한 수학적 계산으로 각 테스트 케이스마다 쿠키몬스터가 몇 번 먹어야 하는지를 정확하게 구할 수 있습니다. 간단한 나눗셈과 조건문을 활용한 문제입니다. 추가적인 질문이나 개선 사항이 있다면 댓글로 알려주세요!

728x90
LIST