코딩 테스트(Python)/백준, 프로그래머스
4797 캠핑
5_hyun
2022. 1. 11. 21:57
반응형
https://www.acmicpc.net/problem/4796
4796번: 캠핑
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다.
www.acmicpc.net
내가 푼 경우(예시는 맞게 나오지만 틀림)
ary = []
while(True):
sum = 0
a, b, c = map(int, input().split())
if((a==0 and b == 0 and c == 0) or a >= c or a >= b or b >= c):
break
sum += (c//b) * a
if((c%b)<a):
sum += c%b
elif((c%b)>a):
sum += a
ary.append(sum)
lena = len(ary)
for i in range(0, lena):
print('Case %d: %d'%(i+1, ary[i]))
구글링 풀이
ary = []
while(True):
L, P, V = map(int, input().split())
if(L+P+V == 0):
break
sum = (V//P) * L + min(V%P, L)
ary.append(sum)
for i in range(len(ary)):
print('Case %d: %d'%(i+1, ary[i]))
일주일에 V//P는 일단 온전한 7일을 몇 주 보낼 수 있는지이다. 그래서 V//P에다가 최대 이용할 수 있는 일자인 L을 곱해준다. 그리고 min(V%P, L)은 V%P가 L보다 작다면 그대로 더해주면되고 L보다 크지만 일주일인 7일 보다는 작은 경우에는 L을 더해준다.
반응형