© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 2869 - 달팽이는 올라가고 싶다

2023-08-07
BOJ
브론즈 I
java
원본 문제 보기
수학

문제

BOJ 2869 - 달팽이는 올라가고 싶다

달팽이가 낮에 A미터 올라가고 밤에 B미터 미끄러진다. 높이 V인 나무를 며칠 만에 올라가는지 구하라.

입력

A, B, V가 주어진다.

출력

나무를 올라가는 데 걸리는 날 수를 출력한다.

예제

입력출력
2 1 54

풀이

마지막 날에는 미끄러지지 않으므로, (V-B)/(A-B)를 올림하여 날 수를 구한다.

  1. V-B를 A-B로 나눈다 (마지막 날은 올라가기만 하므로 V-B까지만 도달하면 됨)
  2. 나머지가 있으면 올림한다

핵심 아이디어: 마지막 날에는 미끄러지지 않으므로 ceil((V-B)/(A-B))가 답이다.

코드

package day549;
 
import java.io.*;
import java.util.*;
 
public class Day547BOJ2869달팽이올 {
 
  public static void main(String[] args) throws Exception {
 
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st = new StringTokenizer(br.readLine(), " ");
 
    int up = Integer.parseInt(st.nextToken());
    int down = Integer.parseInt(st.nextToken());
    int length = Integer.parseInt(st.nextToken());
 
    int day = (length - down) / (up - down);
    if ((length - down) % (up - down) != 0)
      day++;
 
    System.out.println(day);
  }
}

복잡도

  • 시간: O(1)
  • 공간: O(1)