Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

전공공부

[BOJ_22864] 피로도 본문

Study/Problem Solving

[BOJ_22864] 피로도

monitor 2023. 11. 19. 17:32

설명


크게 설명을 할 수 있는 문제가 아님. 문제에 주어진 식을 그대로 구현을 하면 되는 문제다. 현재 피로도를 계산해두고 현재 할 수 있는 일량을 적재하면서 체크해나가는 문제

 

코드


package Math;

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

public class BOJ_22864 {
    public static void main(String[] args) throws Exception{
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer tk = new StringTokenizer(in.readLine()," ");
        int A = Integer.parseInt(tk.nextToken()); // 1시간 일 하면 A 만큼 피로가 쌓임
        int B = Integer.parseInt(tk.nextToken()); // 1시간에 B 만큼 일 함
        int C = Integer.parseInt(tk.nextToken()); // 1시간에 C 만큼 피로를 삭제함
        int M = Integer.parseInt(tk.nextToken()); // 피로를 M을 넘기면 안 됨

        int work = 0;
        int fatigue = 0;// 피로도
        for(int i = 0; i < 24; i++){
            if(fatigue + A <= M){
                fatigue += A;
                work += B;
            }else{
                fatigue -= C;
                if(fatigue < 0){
                    fatigue = 0;
                }
            }
        }
        System.out.println(work);
    }
}
 

22864번: 피로도

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

www.acmicpc.net

 

'Study > Problem Solving' 카테고리의 다른 글

[BOJ_2960] 에라토스테네스의 체  (1) 2023.11.20
[BOJ_5347] LCM  (0) 2023.11.19
[BOJ_1110] 더하기 사이클  (0) 2023.11.16
[BOJ_2745] 진법 변환  (1) 2023.11.15
[BOJ_3151] 합이 0  (1) 2023.11.14