📝 문제
🔑 풀이 과정
· V: 캠핑장을 사용할 수 있는 전체 기간
· 캠핑장을 최대한 많이쓰려면, P일중 앞의 L일을 사용하면 되는것이다.
· 풀이를 그림으로 나타낸 것
- (V를 P로 나눈 몫 * L)을 일단 구해준다.
- 그 후, (V - (V를 P로 나눈 몫 * P)) 가 L보다 크거나 같다면 L을 더해주고, 작으면 그 값 자체를 더해준다,
🔓 답안
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
StringBuilder sb = new StringBuilder();
int caseNum = 1;
while(true){
st = new StringTokenizer(br.readLine());
int L = Integer.parseInt(st.nextToken());
int P = Integer.parseInt(st.nextToken());
int V = Integer.parseInt(st.nextToken());
if((L == 0) && (P == 0) && (V == 0))
break;
int a = V / P;
int ans = a * L;
if((V - a * P) >= L)
ans += L;
else
ans += (V - a * P);
sb.append("Case ").append(caseNum).append(": ").append(ans).append("\n");
caseNum++;
}
bw.write(sb.toString());
bw.flush();
bw.close();
}
}
🖤 알고리즘 분류
- 수학
- 그리디 알고리즘
'PS > Baekjoon' 카테고리의 다른 글
[Baekjoon] 7569 - 토마토 (0) | 2023.08.08 |
---|---|
[Baekjoon] 7562 - 나이트의 이동 (0) | 2023.08.07 |
[Baekjoon] 10988 - 팰린드롬인지 확인하기 (0) | 2023.08.05 |
[Baekjoon] 11727 - 2×n 타일링 2 (0) | 2023.08.04 |
[Baekjoon] 9461 - 파도반 수열 (0) | 2023.08.03 |
댓글