문제는 위와 같고 코드는 아래와 같다.
a,b,c,m = map(int,input().split())
time=0
tired=0
work=0
while(time<24):
if(tired+a<=m):
tired+=a
work+=b
else:
tired-=c
if tired <0:
tired = 0
time+=1
print(work)
피로도 안에서 할 수 있는 모든 일을 한 후, 피로도가 일정 수준 이상 낮아졌을 경우 쉬는 과정을 반복,
만약 피로도가 음수일 경우에는 0으로 초기화함으로서 24시간 안에 할 수 있는 일의 양을 계산한다.
'코딩테스트 문제 풀이 > 그리디 알고리즘' 카테고리의 다른 글
백준 10610 파이썬 문제 풀이 (0) | 2024.05.06 |
---|---|
백준 16953 파이썬 문제 풀이 (0) | 2024.05.06 |