(1).백준 22864번 피로도는 시간당 피로도 누적, 시간당 작업량, 쉬는 시간당 피로도 회복량이 주어질 때

24시간동안 얼만큼의 작업을 할 수 있는지 묻는 문제였는데

재귀형식으로 호출해도 될 것 같긴 하지만 이미 while을 사용했기 때문에

어떻게 할까 고민하다가 2중으로 while으로 감싸서 작업량 회복 로직을 추가하고 작업 로직을 추가해줬다.

 

const [a,b,c,d] = `5 3 2 10`.split(' ').map(Number)

let result = 0

if(a > d){
    console.log(result)
}
else{
    let hour = 0
    let stemina = 0
    while (hour < 24) {
        while ((stemina + a <= d) && hour < 24) {
            stemina += a
            result += b
            hour++
        }
        while ((stemina + a > d) && hour < 24) {
            stemina = Math.max(0, stemina - c)
            hour++
        }
    }
    console.log(result)
}

'회고' 카테고리의 다른 글

[개발일지] - 964  (0) 2026.03.07
[개발일지] - 963  (0) 2026.03.06
[개발일지] - 961  (0) 2026.03.04
[개발일지] - 960(주말)  (0) 2026.03.03
[개발일지] - 959(주말)  (0) 2026.03.02

+ Recent posts