알고리즘

백준 228654번 피로도 (JAVA)

박카스마시며코딩 2023. 3. 26. 15:27

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

 

22864번: 피로도

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

www.acmicpc.net

 

 

package BOJ.simulation;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.function.Function;

public class BOJ_22864 {

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        Function<String,Integer> stoi = Integer::parseInt;
        int fatigue = stoi.apply(st.nextToken());
        int work = stoi.apply(st.nextToken());
        int rest = stoi.apply(st.nextToken());
        int maxFatigue = stoi.apply(st.nextToken());
        int result = 0;
        int nowFatigue = 0;
        for(int time = 0 ; time < 24 ; time++){
            if(nowFatigue + fatigue <= maxFatigue){
                nowFatigue += fatigue;
                result += work;
            }else{
                nowFatigue = Math.max(nowFatigue - rest,0);
            }
        }
        System.out.println(result);
    }
}