반응형
https://www.acmicpc.net/problem/4796
4796번: 캠핑
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다.
www.acmicpc.net
- 문제

처음 입력 받은 5 8 20의 경우에는 강산이가 20일짜리 휴가를 낸 상황에서 캠핑을 20일을 하고 싶은데(이게 가능한가??) 캠핑장 특성상 8일 중 5일 밖에 캠핑을 할 수 없다는 것이다. 그러면 8일 + 8일하면 16일이 되고 4일이 남은 상황에서 8일중 5일만 캠핑 가능하니깐 5 + 5 + 4해서 14가 되는 것이다.
- 해설
전체 휴가일수 // 연속하는 P일을 하면 나오는 숫자에 L일을 곱하면 나누었을 때 나머지를 제외한 일수 중에서 캠핑이 가능한 일수를 구할 수 있을 것이다. 이제 나머지 일수에 대해서는 2가지 경우를 생각할 수 있는데,
1. 나머지 일수가 L일보다 작을 경우
- 나머지 일수를 그대로 더하면 된다.
2. 나머지 일수가 L일보다 크거나 같을 경우
- 나머지 일수 대신에 L일을 더해주면 된다.
로 해결할 수 있을 것이다.
- 풀이
import sys
i = 1
while(1):
A = list(map(int, sys.stdin.readline().split()))
if A[0] == 0 and A[1] == 0 and A[2] == 0:
break
div = A[2]//A[1]
rest = A[2] % A[1] if (A[2] % A[1]) < A[0] else A[0]
answer = div*A[0] + rest
print("Case {0}: {1}".format(i, answer))
i += 1
반응형
'Algorithm > Baekjoon BOJ' 카테고리의 다른 글
[백준][파이썬] 1439번 : 뒤집기(코드, 해설, 풀이) (0) | 2022.04.17 |
---|---|
[백준][파이썬] 1500번 : 최대 곱(코드, 해설, 풀이) (0) | 2022.04.16 |
[백준][파이썬] 1049번 : 기타줄(코드, 해설, 풀이) (0) | 2022.04.12 |
[백준][파이썬] 1059번 : 좋은 구간(코드, 해설, 풀이) (0) | 2022.04.09 |
[백준][파이썬] 20915번 : 숫자 카드 놀이 (코드, 해설, 풀이) (0) | 2022.04.09 |