https://www.acmicpc.net/problem/4796
소스코드
import java.io.*;
import java.util.StringTokenizer;
public class Sanizzang {
static int cases;
static int cnt;
static int l;
static int p;
static int v;
static int result;
public static void main(String[] arg) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
cases = 0;
cnt = 1;
while (true) {
StringTokenizer st = new StringTokenizer(br.readLine());
l = Integer.parseInt(st.nextToken());
p = Integer.parseInt(st.nextToken());
v = Integer.parseInt(st.nextToken());
if (l == 0 && p == 0 && v == 0)
break;
result = (((v / p) * l)) + Math.min(l, (v % p));
System.out.println("Case " + cnt++ + ": " + result);
}
}
}
소스설명
1. l, p, v의 값을 입력을 받는다. if(l, p, v의 값들이 다 0이라면) 반복문을 중단한다.
2. 먼저 휴가일 수인 v값을 p(연속이용)로 나눈뒤 l(캠핑장 사용일수)를 곱해준다.
3. 그러면 v를 p의 값으로 나눈 나머지가 발생할 텐데. 여기서 남은일 수가 이용가능 일 수보다 많이 남아있을 수도 있기때문에
4. 남은 일수 vs 이용가능 일수 중 최솟값을 결과 값에 더해준다.
'Algorithm(Java) > BAEKJOON' 카테고리의 다른 글
[JAVA] 백준 알고리즘 1449번 문제 풀이 (수리공 환승) (0) | 2021.09.25 |
---|---|
[JAVA] 백준 알고리즘 2294번 문제 풀이 (동전2) (0) | 2021.09.25 |
[JAVA] 백준 알고리즘 1463번 문제 풀이 (1로 만들기) (0) | 2021.09.24 |
[JAVA] 백준 알고리즘 2231번 문제 풀이 (분해합) (0) | 2021.09.24 |
[JAVA] 백준 알고리즘 2309번 문제풀이 (일곱 난쟁이) (0) | 2021.09.23 |