[Python] 백준/BOJ - 4796번: 캠핑

2021. 12. 1. 18:00·Algorithm/Problem Solving
반응형

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

 

4796번: 캠핑

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

www.acmicpc.net

문제

캠핑장은 연속하는 20일 중 10일동안만 사용할 수 있다. 강산이는 이제 막 28일 휴가를 시작했다. 이번 휴가 기간동안 강산이는 캠핑장을 며칠동안 사용할 수 있을까?

-> 캠핑장은 연속하는 P일 중, L일동안만 사용할 수 있다. 강산이는 이제 막 V일짜리 휴가를 시작했다. 강산이가 캠핑장을 최대 며칠동안 사용할 수 있을까? (1 < L < P < V)

 

입력

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

 

출력

각 테스트 케이스에 대해 강산이가 캠핑장을 최대 며칠동안 사용할 수 있는지 예제 출력처럼 출력한다.

 

예제 입력 1

5 8 20
5 8 17
0 0 0

예제 출력 1

Case 1: 14
Case 2: 11

풀이

처음에 문제가 잘 이해되지 않아서 예제 입력과 출력을 보며 이해했다. 예제 입력의 첫 번째 케이스를 보면 연속하는 8일중에 5일을 이용가능하고, 휴가기간은 총 20일이다. 

간단히 그려본 그림

저렇게 총 14일 이용가능하다. 따라서 이를 계산해주려면 V // P * L한 값을 구해준 후 (위의 예제에서는 20 // 8 * 5 = 10일이다.) 그 값에 V%P와 L 중에 최솟값을 더해주면 된다. (위의 예제에서 L은 5이고, V%P는 4이다.)

이 때 둘 중 최솟값을 구하는 이유는 V%P가 L보다 클 수도 있기 때문이다.

 

따라서 코드는 아래와 같이 작성해주면 된다.

cnt = 1

while True:
    l, p, v = map(int, input().split(' '))
    if l == 0:
        break
    res = v // p * l
    res += min(v % p, l)
    print('Case %d: %d' % (cnt, res))
    cnt += 1

 

반응형

'Algorithm > Problem Solving' 카테고리의 다른 글

[Python] LeetCode - 841. Keys and Rooms  (0) 2021.12.08
[Python] 백준/BOJ - 2839번: 설탕 배달  (0) 2021.12.02
[Python] 백준/BOJ - 10610번: 30  (0) 2021.12.01
[Python] 백준/BOJ - 15903번: 카드 합체 놀이  (0) 2021.11.28
[Python] 백준/BOJ - 2847번: 게임을 만든 동준이  (0) 2021.11.26
'Algorithm/Problem Solving' 카테고리의 다른 글
  • [Python] LeetCode - 841. Keys and Rooms
  • [Python] 백준/BOJ - 2839번: 설탕 배달
  • [Python] 백준/BOJ - 10610번: 30
  • [Python] 백준/BOJ - 15903번: 카드 합체 놀이
SH_Roh
SH_Roh
  • SH_Roh
    혼자공부끄적끄적
    SH_Roh
  • 전체
    오늘
    어제
    • 분류 전체보기 (159)
      • FE (39)
        • HTML, CSS (3)
        • Javascript (17)
        • React (11)
        • Next.js (4)
      • Network (1)
      • DevOps (4)
      • Git (1)
      • Trouble Shooting (24)
      • Algorithm (41)
        • Python (2)
        • Data Structure, Algorithm (7)
        • Problem Solving (31)
      • Education (23)
        • Elice AI Track (4)
        • Wanted Pre-Onboarding FE Co.. (19)
      • TIL (25)
      • Etc. (1)
        • 회고 (1)
        • 그냥저냥 (0)
  • 링크

    • Github
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
SH_Roh
[Python] 백준/BOJ - 4796번: 캠핑
상단으로

티스토리툴바