반응형
문제
땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.
달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.
달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
출력
첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.
예제 입력 1
2 1 5
예제 출력 1
4
예제 입력 2
5 1 6
예제 출력 2
2
예제 입력 3
100 99 1000000000
예제 출력 3
999999901
문제풀이 :
처음에는 단순하게 반복문으로 하루하루 계산을 처리했는데 시간초과로 문제가 생겼다.
그래서 더 빠르게 계산하는 식으로 변경해서 구현했더니 합격했다.
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(); // 정상높이
int result = 0;
int day = (v - b) / (a - b);
if ((v - b) % (b - a) != 0) {
day++;
}
System.out.println(day);
}
}
반응형
'JAVA > [Java]백준문제풀이' 카테고리의 다른 글
[백준][java] 2839 (2) | 2025.01.09 |
---|---|
[백준][java] 1181 단어 정렬 - 문제풀이 (0) | 2024.07.11 |
[백준][java] 2775 부녀회장이 될테야 - 문제풀이 (1) | 2024.07.09 |
[백준][java] 1546 평균 - 문제풀이 (0) | 2024.07.09 |
[백준][java] 1259 팰린드롬수 - 문제풀이 (0) | 2024.07.09 |