BOJ 4796 캠핑

LONGNEW·2021년 2월 20일
0

BOJ

목록 보기
173/333

https://www.acmicpc.net/problem/4769
시간 1초, 메모리 128MB
input :

  • L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다.

output :

  • 최대 며칠동안 사용할 수 있는지 예제 출력처럼 출력

조건 :

  • 연속하는 P일 중, L일동안만 사용할 수 있다. 강산이는 이제 막 V일짜리 휴가를 시작했다. 강산이가 캠핑장을 최대 며칠동안 사용할 수 있을까?

처음에 만들어낸 식이
(V // P) * L + (V % P) % L 이다. 그러나 이건 예제의 경우에 부합할 뿐.
V % P가 L보다 큰 경우도 존재한다. 그래서
나머지가 L보다 크거나 같은 경우에는 그냥 L을 더하도록 하고 그렇지 않은 경우에는 나머지를 다시 L로 나눈 나머지를 더해주자.

import sys

idx = 1
while True:
    L, P, V = map(int, sys.stdin.readline().split())
    if L == 0 and P == 0 and P == 0:
        break

    ans = (V // P) * L
    if V % P >= L:
        ans += L
    else:
        ans += (V % P) % L
    print("Case " + str(idx) + ":", ans)
    idx += 1

0개의 댓글