Algorithm/백준

[백준 알고리즘] 22864번: 피로도 (Python)

에릭 Kim 2023. 6. 8. 17:13
반응형

https://www.acmicpc.net/problem/22864

 

22864번: 피로도

첫 번째 줄에 네 정수 $A$, $B$, $C$, $M$이 공백으로 구분되어 주어진다. 맨 처음 피로도는 0이다.

www.acmicpc.net

 

소스코드

 

 

풀이

★ 문제에서 주어진 조건들을 잘 고려하여 구현한다면 어렵지 않게 풀 수 있는 문제 같습니다 !

 

제가 헷갈렸던 부분은 피로도가 음수로 내려갈 때인데, 현재 피로도에서 휴식을 취한 경우 그 값이 음수가 되는 때를 말하는 것인지 아니면 일단 휴식을 부여한 뒤 그 피로도를 뜻하는지 였습니다 ! 

 

★ 누적되는 피로도 a가 m보다 크다면 일을 할 수 없기 때문에 0을 출력해줍니다. 아닐 경우 반복문을 돌게 되는데 하루는 총 24시간이기 때문에 clock이라는 변수를 1로 잡았고, 24를 초과하기 전까지 while 루프를 실행합니다. 

 

★ 반복문을 돌면서 현재 피로도에 a를 더한 값이 m을 초과하지 않는다면 계속해서 일을 하고, 초과하는 경우에는 휴식을 통해 피로도를 c만큼 낮춰줍니다 ! 

반응형