본문 바로가기
코딩공부/백준 (java)

[백준 2869] 달팽이는 올라가고 싶다 (java)

by CodingKwon 2021. 7. 27.

문제 링크

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

 

2869번: 달팽이는 올라가고 싶다

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

www.acmicpc.net

 

나의 코드 (java)

import java.io.*;

public class Main {
    public static void main (String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        // 입력값
        String s = br.readLine();
        int A = Integer.parseInt(s.split(" ")[0]);
        int B = Integer.parseInt(s.split(" ")[1]);
        int V = Integer.parseInt(s.split(" ")[2]);

        // 나무를 오르는 날의 수
        int answer = (V-B) / (A-B);

        // 예외 처리
        if ((V-B) % (A-B) != 0){
            answer++;
        }

        bw.write(String.valueOf(answer));
        bw.flush();
    }
}

 

이 문제는 처음에 Scanner로 풀었다가 시간 초과를 받았습니다. 이 문제는 빠른 BufferedReader와 BufferedWriter를 이용하는 게 좋습니다. 그리고 마지막으로 bw.flush();로 버퍼를 비워줍니다.

댓글