[ BOJ 4796 ] 캠핑(Python)

uoayop·2021년 6월 7일
0

알고리즘 문제

목록 보기
87/103
post-thumbnail

문제

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

P일 중 최대 L일만 캠핑장을 이용할 수 있고, 강산이의 총 휴가일은 V일이다.
강산이가 이용할 수 있는 최대 일 수를 구하면 된다.

강산아.. 휴가 가냐.. 부럽다... 🙂


문제 풀이

그림이 엉망이지만 일단 이런 로직이다.
캠핑장에 최대한 오래 머물 것이므로 휴가 기간 VP 로 나눈다.
나눈 몫을 L과 곱해준다.

ans += (v // p) * l

그리고 남은 일자도 계산해줘야 한다!

만약 남은 일자가 L보다 길다면, L을 더해주면 된다.
L보다 길지 않다면 그냥 남은 일자를 더해주면 된다.

if v % p > l:
    ans += l
else:
    ans += v % p

코드

import sys
input = sys.stdin.readline


i = 1
while 1:
    l, p, v = map(int,input().rsplit())
    ans = 0
    if l == 0 and p == 0 and v == 0:
        break

    ans += (v // p) * l
    if v % p > l:
        ans += l
    else:
        ans += v % p

    print("Case {0}: {1}".format(i,ans))
    i += 1
profile
slow and steady wins the race 🐢

0개의 댓글