알고리즘(BOJ)/Bronze
백준 - 캠핑 4796
ch.0
2023. 3. 13. 16:25
문제 분석
휴가쓴기한 : V
캠핑장 연속일: P
캠핑장 사용일: L
V동안 P가 최대 몇번 반복되는지 부터 파악했다. 그만큼 L을 곱하면 가능일수의 첫번째 합이 구해진다.
다음으로 남은 기한V의수가 L보다 작다면 남은휴가 내내 사용할 수 있다는 의미니까 V를 더해준다
하지만 남은V보다 L이 크다면 남은휴가 동안 L만큼 쓰는게 최대니까 L을 더해준다.
전체 소스
package test;
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st= new StringTokenizer(br.readLine(), " ");
int L = Integer.parseInt(st.nextToken());
int P = Integer.parseInt(st.nextToken());
int V = Integer.parseInt(st.nextToken());
int count = 1;
while(L!=0 || P!=0 || V!=0) {
int result = 0;
result += (V/P) * L;
V = V % P;
if(L>=V) {
result += V;
}else {
result += L;
}
System.out.println("Case "+count+": " + result);
count++;
st= new StringTokenizer(br.readLine(), " ");
L = Integer.parseInt(st.nextToken());
P = Integer.parseInt(st.nextToken());
V = Integer.parseInt(st.nextToken());
}
}
}