달팽이가 올라가는데 몇일이 걸리는지 푸는 문제입니다.
달팽이가 낮에는 A만큼 올라가는데 밤에 B만큼 미끄러 지고,
정상에 올라간 후에는 미끄러지지 않는다고 합니다.
미끄러지지 않는다는 소리는 마지막은 무조건 올라갈 수 있는 거리만큼 이동할 수 있다는 말이기 때문에
높이(V) - 올라갈 수 있는 거리(M)를 해주고, 결과에 +1을 해주면 됩니다.
이제 남은 거리가 얼마나 걸리는지 계산을 해주면 됩니다.
예제인 2(A) 1(B) 5(V)로 보면 5에서 2를 빼주고 남은 거리는 3입니다.
하루가 지났을 때 위치는 A-B가 됩니다. (A만큼 올라가고 B만큼 내려오기 때문에)
남은거리 / 하루 지났을 때의 위치룰 하면 남은 위치가 얼마나 걸리는지 알 수 있습니다.
3/1을 하면 3 거기에 +1을 해주면 됩니다.
이 경우 나머지가 없는데 만약 나눴을 경우 나머지가 있다면 한번더 올라가야 한다는 소리이므로 +1을 한번 더 해주면 문제를 해결할 수 있습니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int a = s.nextInt();
int b = s.nextInt();
int v = s.nextInt();
int result = (v-a)/(a-b)+1;
if((v-a)%(a-b)!=0) result++;
System.out.println(result);
}
}
'프로그래밍 > 백준알고리즘' 카테고리의 다른 글
백준 알고리즘 2750번 풀이 - 수 정렬하기[버블정렬] (0) | 2019.09.25 |
---|---|
백준 알고리즘 1003번 풀이 - 피보나치 함수 (0) | 2019.08.13 |
백준 알고리즘 1193번 문제 풀이 - 분수 찾기 (0) | 2019.08.01 |
백준 알고리즘 2292번 문제 풀이 - 벌집 (0) | 2019.08.01 |
백준 알고리즘 2839번 문제 - 설탕 배달 (0) | 2019.08.01 |