View

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

 

4796번: 캠핑

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

www.acmicpc.net

📚 문제

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

각 테스트 케이스는 한줄로 이루어져 있고 L, P, V를 순서대로 포함하고 있다. 마지막 줄에는 0이 3개 주어진다.

예제 입력 1 예제 출력 1
5 8 20
5 8 17
0 0 0
Case 1: 14
Case 2: 11

 

📝 문제 해결

  • L : 캠핑장을 사용할 수 있는 기간
  • P : 연속하는  기간
  • V : 휴가기간

테스트 케이스① 5 8 20

1) 휴가기간(20)을 연속기간(8)으로 나눈 몫에 캠핑장을 사용할 수 있는 기간(5)를 곱해준다. = L * (V/P)

2-1) 휴가기간(20)을 연속기간(8)으로 나눈 나머지를 더해준다. 

2-2) 나머지가 캠핑장을 사용할 수 있는 기간(L)보다 클 때는 캠핑장을 사용할 수 있는 기간을 더해준다.

최대 사용기간 : L * (V/P) + Math.min(L, (V%P)) 

 

💻 코드

import java.util.Scanner;

public class BOJ4796{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        StringBuilder sb = new StringBuilder();
        
        int cnt = 1;
        
        while(true){
            int l = sc.nextInt();
            int p = sc.nextInt();
            int v = sc.nextInt();
            if(l==0 && p==0 && v==0) break;
            
            int result = l*(v/p) + Math.min(l, v%p);
            sb.append("Case "+cnt+": "+result+"\n");
            
            cnt++;
        }
        
        System.out.print(sb);
    }
}
728x90
Share Link
reply
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31