ALGORITHM/PYTHON

백준 BAEKJOON 33631번 1교시: 가정 [PYTHON/파이썬]

칼코 2025. 4. 9. 16:37
728x90
반응형

 

 

 

 

 

백준 BAEKJOON 33631번 1교시: 가정 [PYTHON/파이썬]


<문제 출처> (BRONZE Ⅲ)

https://www.acmicpc.net/problem/33631

 

 

 

 

 

 

 

 

 

<풀이>

문제에서 주어진 조건, 즉 쿼리에 대해 순서대로 구현하면 된다.

쿼리가 1로 시작할 때, 쑤미가 현재 가지고 있는 밀가루, 초콜릿, 달걀, 버터로

min 함수를 사용하여 최대 몇 개의 쿠키를 만들 수 있는지 구한 뒤,

그 값이 i 보다 크거나 같으면 그만큼 쿠키를 만들 수 있다는 의미이다.

쿠키를 i만큼 만들 수 있다면 현재 가지고 있는 재료에서

쿠키를 만들 때 사용되는 재료의 개수만큼 빼준 뒤 쿠키의 개수 출력

그렇지 않다면 "Hello, siumii" 출력

그리고 쿼리가 2부터 5까지는 해당 재료에 i 만큼 더해주고 출력해주면 된다.

 

 

 

 

 

 

 

 

<코드>

Fs, Cs, Es, Bs = map(int, input().split())
Fn, Cn, En, Bn = map(int, input().split())
Q = int(input())
cookie = 0

for _ in range(Q):
    q, i = map(int, input().split())
    if q == 1:
        max_cookie = min(Fs // Fn, Cs // Cn, Es // En, Bs // Bn)
        if max_cookie >= i:
            Fs, Cs, Es, Bs = Fs - Fn * i, Cs - Cn * i, Es - En * i, Bs - Bn * i
            cookie += i
            print(cookie)
        else:
            print("Hello, siumii")
            
    elif q == 2:
        Fs += i
        print(Fs)
    elif q == 3:
        Cs += i
        print(Cs)
    elif q == 4:
        Es += i
        print(Es)
    elif q == 5:
        Bs += i
        print(Bs)

 

 

 

 

 

 

 

 

728x90
반응형