Python3/백준 알고리즘

2022.02.15 [백준] (python 파이썬) 캠핑

ian's coding 2022. 2. 15. 02:07
728x90
반응형

 

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

 

4796번: 캠핑

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다.

www.acmicpc.net

 


풀이

이 문제는 P일 동안 L일만 연속해서 캠핑장을 사용할 수 있다. 그래서 P일이 사이클이 된다. 

num은 P일의 사이클이 면번 돌아가는지를 뜻한다. 

num2는 휴가를 받은 V일동안 P가 num번 도는 사이클을 뺀 날이다. 여기서 if문을 넣어 num2>L일 때, num=L이라는 조건을 넣었는데 이는 만약 나머지가 L일 보다 크면 L일보다 캠핑장을 더 연속해서 사용하는게 되기 때문이다.

예를 들어 1 3 5 를 입력받으면 나머지가 2인데 이때 나머지가 1보다 크기 때문에 if문의 과정을 거쳐야 한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
#case number count
i=0
while True:
    L,P,V = map(int,input().split())
    if L==0 and P==0 and V==0:
        break
    num=V//P
    num2=V%P
    if num2>L:
        num2=L
    max=num*L+num2
    i+=1
    print("Case {0}: {1}".format(i,max))
cs

 

 

 

 

728x90
반응형