728x90
실버난이도로 올라오면서 수학에 관련된 문제들이 제법 많아지고 까다로워졌다.
공식을 세워야하며, 이해에 대한 난이도가 브론즈보다 훨씬 많이 올라갔다고 생각한다.
먼저, 낮 과 밤 따로 계산을해야한다. 예제 1번으로 예시를 들어 공식을 세워보면,
1일 째 낮 = 2
1일 째 밤 = 2 - 1 = 1
2일 째 낮 = 2 - 1 + 2 = 3
2일 째 밤 = 2 - 1 + 2 - 1 = 2
3일 째 낮 = 2 - 1 + 2 - 1 + 2 = 4
3일 째 밤 = 2 - 1 + 2 - 1 + 2 -1 = 3
4일 째 낮 = 2 - 1 + 2 - 1 + 2 -1 +2 = 5 (도착)
공식으로 보면
1일 째 낮 = A
1일 째 밤 = A - B = 1
2일 째 낮 = A - B + A = 3
2일 째 밤 = A - B + A - B = 2
3일 째 낮 = A - B + A - B + A = 4
3일 째 밤 = A - B + A - B + A - B = 3
4일 째 낮 = A - B + A - B + A - B + A = 5 (도착)
낮을 기준으로 공식을 보면 , (A-B) * ( N-1 ) + A = V 가 된다. 정리해보면
AN - A - BN + B + A = V
N(A-B) + B = V
N = (V-B) / (A-B) 이다.
해당식을 대입하면 된다.
package BAEKJOON;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class NO2869 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] str = br.readLine().split(" ");
double a = Double.parseDouble(str[0]);
double b = Double.parseDouble(str[1]);
double v = Double.parseDouble(str[2]);
int n = (int)Math.ceil((v-b)/(a-b)); // 소수가 나오면 올림을 한다.
System.out.println(n);
}
}
728x90
'Algorithm & SQL > BAEKJOON' 카테고리의 다른 글
백준 JAVA 1712 손익분기점 (0) | 2022.07.12 |
---|---|
백준 JAVA 1789 수들의 합 (0) | 2022.07.11 |
백준 JAVA 1037 약수 (0) | 2022.07.10 |
백준 JAVA 1978 소수 찾기 (0) | 2022.07.09 |
백준 JAVA 11050 이항 계수 1 (0) | 2022.07.08 |
댓글