이 문제를 풀때의 아이디어는 나머지의 크기에 따라서 답이 달라진다는 것이다.
나머지가 연속으로 사용할 수 있는 기간(L)과 비교해서 큰 경우와 작은경우 케이스별로 처리하면 된다.
사실, 그냥 생각나는대로 풀어보았는데 운좋게 한번에 맞았다.
어떻게 이렇게 풀게 되었는지 설명하기가 애매한 듯 싶다.
이게 그리디 문제의 특징이 아닌가 싶다...? 라는 개인적인 생각.. 크흠...
# 4796 캠핑
case = 0
while True:
case += 1
L, P, V = map(int, input().split())
if (L + P + V) == 0:
break
remainder = V%P if V%P <= L else L
ans = L*(V//P) + remainder
print(f'Case {case}: {ans}')
728x90
'알고리즘 문제풀이 > Greedy' 카테고리의 다른 글
백준 1744 파이썬(그리디) (0) | 2021.12.15 |
---|---|
백준 1439 파이썬(그리디) (0) | 2021.12.15 |
백준 1715 파이썬 (그리디) (0) | 2021.12.14 |
백준 10610 파이썬(그리디) (0) | 2021.12.13 |
백준 1026 파이썬(그리디) (0) | 2021.12.10 |