Algorithm/백준 알고리즘
백준_4796 캠핑(자바) / 수학
미스터로즈
2021. 10. 27. 09:26
시간&메모리 제한
문제
입력&출력
문제풀이
package com.Back;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Back_4796 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int cnt = 0;
while(true) {
cnt++;
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 tmp = V/P;
int tmp2 = V%P;
sb.append("Case "+cnt+": "+(tmp*L+Math.min(tmp2, L))+"\n");
}
System.out.println(sb);
}
}
※ 내 생각
이 문제는 그리디 또는 수학으로 푸는 문제입니다.
저는 수학으로 바로 해결을 했습니다.
3개의 값을 받아오고
최대 일에서 연속하는 일 수로 나눈 것과 나머지를 활용하여 계산할 수 있습니다.