안녕하세요!! 오늘은 백준 <달팽이는 올라가고 싶다.> 라는 문제를 풀어보았습니닷! ☆*: .。. 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 |