문제 링크: https://www.acmicpc.net/problem/22864
22864번: 피로도
첫 번째 줄에 네 정수 $A$, $B$, $C$, $M$이 공백으로 구분되어 주어진다. 맨 처음 피로도는 0이다.
www.acmicpc.net
최대한 할 수 있는 일의 양을 구하는 것이기 때문에
일을 했을 때, 누적 피로도가 M을 넘지 않을 때까지는 계속 일을 한다.
그렇지 않은 경우는 쉰다.
a, b, c, m = map(int, input().split())
time = 24
accum_m = 0
work = 0
if a > m:
work = 0
else:
for _ in range(24):
if accum_m + a <= m:
accum_m += a
work += b
else:
accum_m -= c
if accum_m < 0:
accum_m = 0
print(work)
주의할 점!
(1) accum_m + a <= m: a를 더했을 때 M을 넘지 않는 경우에만 일을 해야한다.
(2) 피로도가 음수로 바뀔 때는 0으로 바꿔줘야한다
'1일 1솔' 카테고리의 다른 글
| [백준] 21313: 문어 (Python, 파이썬) (0) | 2023.09.08 |
|---|---|
| [백준] 18238번: ZOAC 2 (Python, 파이썬) (0) | 2023.09.07 |
| [백준] 14487번: 욱제는 효도쟁이야!! (Python, 파이썬) (0) | 2023.09.06 |
| [백준] 2864번: 5와 6의 차이 (Python, 파이썬) (0) | 2023.09.06 |
| [백준] 11005번: 진법 변환 2 (Python, 파이썬) (0) | 2023.09.06 |