백준

백준 2869번을 풀어보았다.☆ with java

next2you 2025. 1. 19. 14:36

안녕하세요!! 오늘은 백준 <달팽이는 올라가고 싶다.> 라는 문제를 풀어보았습니닷! ☆*: .。. o(≧▽≦)o .。.:*☆ 


문제

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
	
		int A = sc.nextInt();
		int B = sc.nextInt();
		int V = sc.nextInt();
	
		double finalV = V-A;
		double finalSpeed = A-B;
		
		double count = finalV/finalSpeed;
		if(finalV%finalSpeed ==0) {
			System.out.println((int)count+1);
		}else {
			System.out.println((int)count+2);
		}
		
	}
}

 

알고리즘

 

finalV  = V-A 로 달팽이가 정상에 올라갔다면? 을 가정했습니다.

(문제의 조건에서 달팽이는 정상에 올라가면 미끄러지지않기 때문입니다. )

finalSpeed = A-B  이 변수는 달팽이의 실제 속도 입니다. 올라가고 미끄러진다면 실제로 달팽이는 A-B 만큼의 거리를 이동한 것이기 때문에 실제로는 finalSpeed 로 움직인다고 볼 수 있습니다.

 

정리하자면 

달팽이는 finalV의 거리를 finalSpeed 만큼의 속도로 가고 있다고 보면 됩니다!@@

 

이쯤되면 다 구해진거나 마찬가지 입니다. 

 

finalV를 finalSpeed로 나누면 며칠이 걸리는지 쉽게 알 수 있습니다.

나온 결과값에서 이전에 finalV를 구할때 V-A를 뺐기 때문에 +1를 해주면 됩니다. 

 

감사합니다 ★..╰(*°▽°*)╯

 

'백준' 카테고리의 다른 글

백준 2246번 문제를 풀어보았다☆ with java  (0) 2025.01.28
백준1292를 풀어보았다☆ with java  (1) 2025.01.18