Coding Test/백준 - JAVA

백준 2869번 달팽이는 올라가고 싶다 (JAVA)

6uiw 2024. 12. 27. 23:01

📌문제

땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.

달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.

달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

출력

첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.

예제 입력 

2 1 5

예제 출력 

4

 

 

 

📌답

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] x = br.readLine().split(" ");
        int up = Integer.parseInt(x[0]); //올라가유
        int down = Integer.parseInt(x[1]); //내려가유
        int t = Integer.parseInt(x[2]); //정상이에유

        int r = up - down; //하루 올라가는 거리에유
        int d = (t - up) / r + 1; //마지막 날전까지 올라가는 데 걸리는 날짜에유

        if ((t - up) % r > 0) {
            d++;
        }
        System.out.println(d);
    }
}

 

 

📌코멘트

처음에 반복문으로 날짜를 찾으려했는데 시간 제한이 걸려있어서 실패가 떴다...공식을 찾고 다시 풀어서 간신히 성공...나 왜 수학 못해...?

 

 

 

 

 

끝까지 읽어주셔서 감사합니다 :)

Have a good day🐱

 


📢

1. 개발자 준비생이 공부한 내용을 정리한 글입니다. 내용에 오류가 있을 수 있습니다.
2. 위와 같은 이유로 내용에 대한 지적과 조언은 감사하게 받습니다.
3. 이 글의 내용은 계속 공부함으로써 언제든지 추가/수정 될 수 있습니다.