백준
백준 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);
}
}
}