문제
하루에 한 시간 단위로 일을 하거나 일을 쉬어도 된다. 하루에 한 시간 일하면 피로도는 만큼 쌓이고 일은 만큼 처리할 수 있다.
만약에 한 시간을 쉰다면 피로도는 만큼 줄어든다. 단, 피로도가 음수로 내려가면 0으로 바뀐다. 당연히 일을 하지 않고 쉬었기 때문에 처리한 일은 없다.
피로도를 최대한 을 넘지 않게 일을 하려고 한다. 를 넘기면 일하는데 번아웃이 와서 이미 했던 일들도 다 던져버리고 일을 그만두게 된다.
번아웃이 되지 않도록 일을 할때 하루에 최대 얼마나 일을 할 수 있는지 구해보자. 하루는 24시간이다.
입력
첫 번째 줄에 네 정수 , , , 이 공백으로 구분되어 주어진다.
맨 처음 피로도는 0이다.
ex)
5 3 2 10
10 5 1 10
11 5 1 10
출력
하루에 번 아웃이 되지 않도록 일을 할 때 최대 얼마나 많은 일을 할 수 있는지 출력한다.
ex)
24
15
0
코드
import java.util.Scanner;
public class Main {
public static void main(String[] args)throws Exception {
Scanner scanner = new Scanner(System.in);
int A = scanner.nextInt();
int B = scanner.nextInt();
int C = scanner.nextInt();
int M = scanner.nextInt();
int hp = 0;
int count = 0;
for(int i=0;i<24;i++){
if(hp+A <= M){
hp=hp+A;
count=count+B;
}else{
if(hp-C >= 0){
hp=hp-C;
}else{
hp=0;
}
}
}
System.out.println(count);
}
}
'java > 백준 java' 카테고리의 다른 글
[자바/Java] 백준 10834번 벨트 (2) | 2023.02.19 |
---|---|
[자바/Java] 백준 8320번 직사각형을 만드는 방법 (0) | 2023.02.17 |
[자바/Java] 백준 5337번 웰컴 (0) | 2023.02.14 |
[자바/Java] 백준 25625번 샤틀버스 (0) | 2023.02.11 |
[자바/Java] 백준 4880번 다음수 (0) | 2023.02.09 |