백준

백준 4796 캠핑(Java)

Park DJ 2023. 1. 16. 03:03

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

 

4796번: 캠핑

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

www.acmicpc.net


 

해석 및 팁

 


 

먼저 전체 V의 휴가동안 P일이 몇 번 등장하는지를 고려하기 위해 V/P를 구한다음 그 안에는 L만큼 이용할 수 있는 기간이 존재하므로 (V/P)*L라는 식을 얻을 수 있습니다. 그리고 V - n*P이 L보다 작을경우로 고려하여 작은것을 선택해 더해주면됩니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int count = 0;

    while(true) {
      int L = sc.nextInt();
      int P = sc.nextInt();    //P일중 L일만 사용가능
      int V = sc.nextInt();   //총 휴가기간

      if(L == 0 && P == 0 && V == 0) break;
      else count++;

      int n = V / P;
      int r = V - n * P;
      int result = n * L + Math.min(r, L);          //둘중 작은값만큼 사용가능
      System.out.println("Case "+count+": "+result);
    }
    
  }
}