728x90
728x90
https://www.acmicpc.net/problem/2869
2869번: 달팽이는 올라가고 싶다
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
www.acmicpc.net
문제가 요구하는 방식 그대로, 달팽이의 행적을 쫒아... 코드를 작성했는데. 아무리 기다려도 예제3번 답 출력이 안되는 것....?
<틀린코드>
더보기
A, B, V = map(int, input().split())
high = 0
days = 1
while True:
high = high + A
if V <= high:
print(days)
quit()
high = high - B
days = days + 1
이대로 제출했다간 시간초과 나오겠다 싶어 코드 유형을 바꿔줬다.
달팽이고 뭐고 그냥 수학적 접근으로...^^
특별히 어려운 부분은 없고, 달팽이 문제의 함정만 잘 꿰뚫는다면 쉽게 풀 수 있는 문제이다.
만약 막대 높이가 10이고 하루에 5씩 오르지만 4만큼 미끄러지는 달팽이가 높이 5에 도달했다면,
하루만 더 오른다면 막대를 모두 오를 수 있다는 것. 굳이 도달했는데 미끄러지게 할 이유는 없음으로.
10 / (5-4) 과 같은 함정만 피하면 된다.
import math
A, B, V = map(int, input().split())
high = V - A
days = math.ceil(high / (A-B))
print(days + 1)
728x90
728x90
'[Python]BaekJoon.AC' 카테고리의 다른 글
[Python]백준 BaekJoon.AC 1436 : 영화감독 숌(브루트포스, find()) (0) | 2022.01.11 |
---|---|
[Python]백준 BaekJoon.AC 1181 : 단어 정렬(sort()) (0) | 2022.01.11 |
[Python]백준 BaekJoon.AC 1018 : 체스판 다시 칠하기(list, for문) (0) | 2022.01.10 |
[Python]백준 BaekJoon.AC 11050 : 이항 계수1(for문) (0) | 2022.01.09 |
[Python]백준 BaekJoon.AC 2839 : 설탕 배달(for문, if문, reversed()) (0) | 2022.01.07 |
[Python]백준 BaekJoon.AC 1259 : 팰린드롬수(slice) (0) | 2022.01.06 |
[Python]백준 BaekJoon.AC 15829 : Hashing(ord(), 아스키코드) (0) | 2022.01.06 |
[Python]백준 BaekJoon.AC 2798 : 블랙잭(브루트포스 알고리즘) (0) | 2022.01.06 |