‡ CODING TEST STUDY ‡/º 백준

[백준 | Java Bronze I] (#2869) 달팽이는 올라가고 싶다 - 미완성

Trudy | 송연 2024. 6. 22. 20:50

문제

https://www.acmicpc.net/problem/2869


첫번째 코드 - 시간 초과 문제

package week8.baek;

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

public class B2869 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        int A = Integer.parseInt(input.split(" ")[0]);
        int B = Integer.parseInt(input.split(" ")[1]);
        int V = Integer.parseInt(input.split(" ")[2]);

        int cur = 0;
        int day = 1;
        while(cur < V){
            //낮
            cur += A;

            if(cur >= V) break;
            //밤
            cur -= B;

            day++;
        }
        System.out.println(day);
    }
}

 

 

문제를 보면 0.25초만에 실행되게 해야 한다.

저렇게 반복문으로 풀면 안됐고 수학적으로 접근해서 풀어야 했던 문제! 

 

수학적으로 생각해본다면, 

 

 

최종 코드 

 


참고

https://st-lab.tistory.com/75

 

[백준] 2869번 : 달팽이는 올라가고 싶다 - JAVA [자바]

https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만,

st-lab.tistory.com