🧩 Problem Solving

[BOJ] 백준 2869번: 달팽이는 올라가고 싶다

date
Sep 20, 2022
slug
boj-2869
author
status
Public
category
🧩 Problem Solving
tags
BOJ
summary
type
Post
thumbnail
백준 문제.png

문제링크

 

문제 분석 및 설계

단순 계산으로 While문 or For문 사용 시 사용초과 나는 문제
한 번의 계산으로 값을 도출할 수 있어야 함!
 

낮에 올라간 높이 수열

  • 1 ≤ B < A ≤ V ≤ 1,000,000,000
  • B < A ⇒ A-B > 0 ⇒ 달팽이는 항상 올라간다(전날보다 더 내려가지 않음)
  • 달팽이가 낮에 목표 높이에 도달하지 못하면 무조건 하루 더 가야 함
⇒ 낮에 올라간 높이의 수열의 일반항을 구하여, 최초로 목표 높이를 넘긴 n의 값을 구하면 됨
 

Double 형 주의

a, b 값을 int 로 받을 시 나누기 연산에서 Int 처리되어 나머지 버림
⇒ 정확한 계산을 위하여 double 로 받을 것
double climb, down; int day = (int)Math.ceil((V-down)/(climb-down));