캠핑장을 연속하는 P일 중, L일동안만 사용할 수 있다. 강산이는 이제 막 V일짜리 휴가를 시작했다. 강산이가 캠핑장을 최대 며칠동안 사용할 수 있을까? (1 < L < P < V)
이렇게 중간중간 최대 L일을 사용하고 나서 하루씩 쉬면 될 것 같다.
최적해 검증
최대 L일 사용하고, 하루 쉬는 것을 반복하는것이 최대 P를 보장하는가? = 자명하게 보장
일반화
V일 L+1로 나누었을때 몫과 나머지를 구한다.
P = 몫*L + 나머지 이다.
또 문제를 잘못 이해했다🤦♀️
예시 인풋아웃풋을 손으로 계산해보고 어..? 하고 다른 블로그 를 보고 내가 잘못 이해한걸 알게 됐다.
일반화
cnt = 1
while(True) :
L, P, V = map(int, input().split())
if L == 0 and P == 0 and V == 0 : break # 종료
res = (V//P)*L
res += min((V%P), L)
print('Case %d: %d' %(cnt, res))
cnt += 1
통과!!
귀찬다고 넘어가지 말고
예시 Input, output 꼭 일일이 계산해서,
내가 문제를 제대로 이해한건지 검사합시다
근데 어떻게 해야 저 문제를 읽고 바로 이렇게 이해하지..? 나는 해설 없이 저 그림으로 이해되지 않는데 내가 이상한가 넘무 슬프다