[PCCP 기출문제] 1번 / 붕대 감기 - JAVA
2025. 3. 2. 23:28ㆍ백준 및 프로그래머스/프로그래머스 LV 1
문제 설명

제한사항


입출력 예1

입출력 예2

입출력 예3

입출력 예4

문제 설명
1.체력과 회복, 회복 시간, 추가 회복, 몬스터 공격 시간, 몬스터 공격 데미지를 바탕으로 문제를 구현합니다.
2.붕대 감기 기술을 계속 사용합니다. 이 과정에서 시간이 흐릅니다. 하지만 시간이 흐르는 도중 몬스터 공격을 당한다면 붕대 감기 기술 시간을 0으로 초기화하고 즉시 기술을 중지합니다.
3.그 후에는 몬스터에게 공격을 당한 데미지를 현재 체력에서 빼줍니다.
4.붕대 감기 기술을 시간 안에 성공했다면 추가적으로 체력을 더 회복해줍니다.
5.단 체력은 처음 제공한 체력보다 더 높을 수 없습니다. 예를 들어 처음 체력이 20이면 어떠한 방식이 되더라도 20보다 더 높은 체력을 획득할 수 없습니다.
6.이러한 방식으로 시간이 흐르면서 체력이 0 이하면 -1을 출력해줍니다.
7.죽지 않았다면 남은 체력을 보여줍니다.
전체 코드
class Solution {
public int solution(int[] bandage, int health, int[][] attacks) {
int answer = 0;
int now_time = 0;
int max_time = attacks[attacks.length-1][0];
int idx = 0;
int cnt = 0;
int max_health = health;
while(now_time <= max_time){
if(now_time == attacks[idx][0]){
health-=attacks[idx][1];
idx++;
cnt = 0;
if(health<=0){
return -1;
}
}else{
cnt++;
health+=bandage[1];
if(cnt == bandage[0]){
health+= bandage[2];
cnt = 0;
}
if(health > max_health){
health = max_health;
}
}
now_time++;
}
return health;
}
}'백준 및 프로그래머스 > 프로그래머스 LV 1' 카테고리의 다른 글
| 2025 프로그래머스 코드챌린지 2차 예선 - 택배 상자 꺼내기 - JAVA (1) | 2025.03.04 |
|---|---|
| 2022 KAKAO BLIND RECRUITMENT - 신고 결과 받기 - JAVA (1) | 2025.03.03 |
| [PCCE 기출문제] 10번 / 공원 - JAVA (0) | 2025.03.02 |
| 2025 프로그래머스 코드챌린지 1차 예선 - 유연근무제 -JAVA (1) | 2025.02.27 |
| 2023 KAKAO BLIND RECRUITMENT - 개인정보 수집 유효기간 - JAVA (0) | 2025.02.26 |