본문 바로가기
프로그래밍/백준알고리즘

백준 알고리즘 2869번 문제 풀이 - 달팽이는 올라가고 싶다

by 밍구몬 2019. 8. 13.

 

달팽이가 올라가는데 몇일이 걸리는지 푸는 문제입니다.

 

달팽이가 낮에는 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);
	}
}