자료구조&알고리즘/백준
4796번: 캠핑 [JAVA]
yong_ღ'ᴗ'ღ
2023. 10. 24. 17:02
https://www.acmicpc.net/problem/4796
4796번: 캠핑
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다.
www.acmicpc.net
문제) V일의 휴가를 시작했다. 캠핑장은 연속하는 P일 중 L일만 사용가능할 때, 최대 며칠동안 사용가능?
접근 방식)
1. V일의 휴가 기간을 P일로 나눈 몫에 L을 곱한다.
2. 남은기간(V % P) 와 L 중 작은 값을 더해준다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class B_4796 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int num = 1;
while (true) {
st = new StringTokenizer(br.readLine());
int L = Integer.parseInt(st.nextToken()); // L일만 사용가능
int P = Integer.parseInt(st.nextToken()); // 연속하는 P일 중
int V = Integer.parseInt(st.nextToken()); // V일 휴가
if (L == 0 && P == 0 && V == 0) break;
int answer = 0;
answer += (V / P * L) + Math.min(V % P, L);
sb.append("Case " + num++ + ": " + answer).append('\n');
}
System.out.print(sb);
}
}