문제
- 캠핑장은 연속하는 20일 중 10일 동안만 사용할 수 있다.
- 캠핑장을 연속하느 P일 중, L일 동안만 사용할 수 있다.
- 강산이가 V일짜리 휴가를 시작했을 때, 캠핑장을 최대 며칠 동안 사용할 수 있는지를 구하는 문제이다.
- 다음 조건을 만족한다. (1 < L < P < V)
- 입력은 여러 개의 테스트 케이스로 이루어져 있고 L, P, V를 순서대로 포함하고 있다.
- 마지막 줄에는 0이 3개가 주어진다.
알고리즘
- 입력은 여러 개 의 케이스로 이루어져있기 때문에 while문을 통해 여러 번 반복한다.
- 이때, 입력에서 0이 3개일 경우에는 반복문을 멈쳐준다.
- V일짜리 휴가를 캠핑장이 연속하는 P일로 나누어 캠핑장을 몇 번 갈 수 있는지 확인한다.
- 나머지가 L일보다 작으면 나머지만큼 또 캠핑장을 갈 수 있고 나머지가 크면 L일만큼 또 갈 수 있다.
코드
import sys
# 첫번째 Case
cnt = 1
while True:
l, p, v = map(int, sys.stdin.readline().split())
# 마지막 줄에 0이 3개 주어지기 때문에 while문을 멈춰준다.
if l == p == v == 0:
break
# divmod는 첫번째 인자를 두번째 인자로 나눈 몫과 나머지를 tuple 형식으로 반환한 것이다.
# 따라서 a 는 몫, b 는 나머지
a, b = divmod(v, p)
print(a,b)
# V일짜리 휴가를 캠핑장이 연속하는 P일로 나누게되면 캠핑장을 몇번 갈 수 있는지 나온다.(몫)
# 나머지가 L일보다 작으면 나머지만큼 또 캠핑장을 갈 수 있고 나머지가 크면 L일만큼 또 갈 수 있다.
if b <= l:
print("Case {}: {}".format(cnt, a * l + b))
else:
print("Case {}: {}".format(cnt, a * l + l))
#Case 횟수 카운트
cnt += 1
github
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 1946번(파이썬): 신입 사원 (0) | 2021.05.22 |
---|---|
[baekjoon] 백준 2437번(파이썬): 저울 (0) | 2021.05.21 |
[baekjoon] 백준 2839번(파이썬): 설탕 배달 (0) | 2021.05.20 |
[baekjoon] 백준 1541번(파이썬): 잃어버린 괄호 (0) | 2021.05.18 |
[baekjoon] 백준 5585번(파이썬): 거스름돈 (0) | 2021.05.13 |