Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 4796번- '캠핑' (PYTHON 풀이) 본문
문제:

연속으로 캠핑할 수 있는 날인 L, 캠핑 + 쉬는 날 합친 주기를 P, 강산이의 휴가 기간인 V를 입력받고 이를 통해 강산이가 캠핑장을 최대 며칠동안 사용할 수 있는지 출력하면 된다.
풀이:
case = 1
while True:
L, P, V = map(int,input().split())
if L == 0 and P == 0 and V == 0:
break
first = V // P
second = V % P
result = first * L + min(L, second)
print(f'Case {case}: {result}')
case += 1
우선 예제 출력처럼 뽑기 위해 case를 1로 선언한뒤 반복문을 돈다. 세 변수가 0일 때는 반복문을 탈출해야하므로 그와 관련된 조건문을 넣어준 뒤 계산을 시작한다.
먼저, 앞서 말한 것처럼 L은 연속 캠핑 일수, P는 연속 캠핑 일수 + 쉬어야하는 일수이다. 그렇기 때문에 전체 휴가기간인 V를 총 기간인 P로 나눠서 나오는 몫이 휴가 내에 캠핑을 위해 들어가는 주기가 된다. 그래서 그 값에서 L을 곱하면 캠핑만 할 수 있는 기간이 계산된다.
그 다음으로 V를 P로 나눠서 나온 나머지를 second 변수에 넣는데, 이 기간은 V에서 전체 주기를 계산한 값을 제외한 나머지 일수중에서 캠핑을 또 할 수 있는지 계산하기 위함이다. 그래서 이 일수와 L 값 중 적은 값만큼은 또 캠핑이 가능하기 때문에 이것도 계산해서 더해주어야 한다.
그럼 최종적으로 result에는 캠핑 일수가 저장될 것이고, 이를 예제 출력의 형식에 맞게 작성하면 된다!
'CODING 💻' 카테고리의 다른 글
| 백준 10102번- '개표' (PYTHON 풀이) (0) | 2026.01.20 |
|---|---|
| 백준 2083번- '럭비 클럽' (PYTHON 풀이) (0) | 2026.01.19 |
| 백준 10156번- '과자' (PYTHON 풀이) (0) | 2026.01.17 |
| 백준 10820번- '문자열 분석' (PYTHON 풀이) (0) | 2026.01.16 |
| 백준 2875번- '대회 or 인턴' (PYTHON 풀이) (0) | 2026.01.15 |
