Dauniverse

👩‍💻[백준 | Python] 달팽이는 올라가고 싶다 본문

코테

👩‍💻[백준 | Python] 달팽이는 올라가고 싶다

Daunique 2024. 3. 15. 17:32

1. 문제 해석

 

조건 1. 낮에는 +A미터, 밤에는 -B미터, 총 V미터까지 며칠이 걸릴까?


2. 내 코드

달팽이는 매일 (A - B)미터 만큼 올라간다.
하지만 A미터만 남겨두었다면 : (V-A)
달팽이는 한 번 더 미끄러질 필요 없이 다음날 탈출하게 된다 : + 1
 
(V - A) / (A - B) + 1)가 떨어지는 수가 아닐 수 있기 때문에 올림 처리한다.
import math
A, B, V = map(int, input().split())
print(math.ceil((V - A) / (A - B) + 1))

3.  최종 코드 

더보기
올림 처리를 제외하고 자연수를 반환하려면 나누기(/)  대신 몫나누기(//) 연산자를 사용한다.
다만, 몫나누기 연산자를 사용했을 때, 나머지는 무조건 버림처리 되는 상황을 고려해야한다.
따라서, 
탈출하기 하루 전인 (V - A)미터 상황에 +1을 했던 것처럼,
탈출하기 이틀 전인 (V - A - 1)미터 상황에 +2를 더한다.
A, B, V = map(int, input().split())
print((V - A - 1) // (A - B) + 2)
 위의 식을 이항하면 아래와 같다.
A, B, V = map(int, input().split())
print(1 - (A - V) // (A - B))

 

문제 링크

https://www.acmicpc.net/short/status/2869/1003/1

 

2869번 숏코딩 (Python) - 1 페이지

모든 언어C++JavaPythonCRustC++17Java 8Python 3C11PyPy3C99C++98C++11C++14Java 8 (OpenJDK)Java 11C++20RubyKotlin (JVM)SwiftTextC#node.jsGoGo (gccgo)Java 15DD (LDC)PHPRust 2015Rust 2018Rust 2021PascalLuaPerlF#Visual BasicObjective-CObjective-C++C99 (Clang

www.acmicpc.net