Notice
Recent Posts
Recent Comments
Archives
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 해결
- conda
- stackoverflow
- issue
- 구글머신러닝부트캠프5기
- error
- MLB
- 꿀팁
- Anaconda3
- 경쟁률
- 구글머신러닝부트캠프4기
- 졸업식
- 구글머신러닝부트캠프합격
- 구글머신러닝부트캠프
- tensorflow
- gmlb
- google machine learning bootcamp
- 지원
- 합격후기
Link
- Today
- Total
Dauniverse
👩💻[백준 | Python] 달팽이는 올라가고 싶다 본문
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
'코테' 카테고리의 다른 글
👩💻[백준 | Python] 1541번: 잃어버린 괄호 (0) | 2024.03.15 |
---|---|
👩💻[백준 | Python] 5585번: 거스름돈 (0) | 2024.03.15 |
👩💻[프로그래머스 | Python] 최댓값과 최솟값 (0) | 2024.03.14 |
👩💻[프로그래머스 | Python] 자릿수 더하기 (0) | 2024.03.14 |
👩💻[ 프로그래머스 | Python ] 폰켓몬 (0) | 2023.10.27 |