반응형
츄르사려고 코딩하는 코집사입니다.
1. [백준 알고리즘] 백준 22864번 피로도 파이썬(Python)
1) 문제번호 : 22864번
2) 문제 출처
https://www.acmicpc.net/problem/22864
2. 문제
하루에 한 시간 단위로 일을 하거나 일을 쉬어도 된다. 하루에 한 시간 일하면 피로도는 A 만큼 쌓이고 일은 B 만큼 처리할 수 있다.
만약에 한 시간을 쉰다면 피로도는 C 만큼 줄어든다. 단, 피로도가 음수로 내려가면 0으로 바뀐다. 당연히 일을 하지 않고 쉬었기 때문에 처리한 일은 없다.
피로도를 최대한 M 을 넘지 않게 일을 하려고 한다. M 를 넘기면 일하는데 번아웃이 와서 이미 했던 일들도 다 던져버리고 일을 그만두게 된다.
번아웃이 되지 않도록 일을 할때 하루에 최대 얼마나 일을 할 수 있는지 구해보자. 하루는 24시간이다.
3. 제약사항
4. 입력
첫 번째 줄에 네 정수 A , B , C , M 이 공백으로 구분되어 주어진다.
맨 처음 피로도는 0이다.
5. 출력
하루에 번 아웃이 되지 않도록 일을 할 때 최대 얼마나 많은 일을 할 수 있는지 출력한다.
6. 풀이
- 피로도가 M보다 크면 안되므로, 피로도에 하루에 증가하는 피로도를 더했을 때, M보다 크거나 같으면 쉬어야 하므로 C만큼 피로도를 빼준다.
- 그리고, 피로도가 작으면 피로도 A를 더해주고, 작업량을 B만큼 증가시켜준다.
7. 소스 코드
import sys
import math
input=sys.stdin.readline
A, B, C, M = map(int, input().split())
piro = 0
work = 0
if A > M : print(0)
else :
for i in range(1, 25) :
if piro + A <= M :
piro += A
work += B
else :
if piro - C >= 0:
piro -= C
else : piro = 0
print(work)
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 백준 2997번 네 번째 수 파이썬(Python) (0) | 2022.03.15 |
---|---|
[백준 알고리즘] 백준 1076번 저항 파이썬(Python) (0) | 2022.03.13 |
[백준 알고리즘] 백준 15726번 이칙연산 파이썬(Python) (0) | 2022.02.17 |
[백준 알고리즘] 백준 23303번 이 문제는 D2 입니다. 파이썬(Python) (0) | 2022.01.27 |
[백준 알고리즘] 백준 5717번 상근이의 친구들 파이썬(Python) (0) | 2022.01.16 |
[백준 알고리즘] 백준 3028번 창영마을 파이썬(Python) (0) | 2022.01.16 |
[백준 알고리즘] 백준 22938번 백발백준하는 명사수 파이썬(Python) (0) | 2022.01.13 |
[백준 알고리즘] 백준 23804번 골뱅이 찍기 - ㄷ 파이썬(Python) (0) | 2022.01.11 |
최근댓글