문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/250137

제한 사항

입출력 예




풀이
class Solution {
public int solution(int[] bandage, int health, int[][] attacks) {
int time = 0;
int count = 0;
int max = health;
for (int i = 0; i < attacks.length;) {
if (time == attacks[i][0]) {
health -= attacks[i][1];
count = 0;
i++;
}
else {
health += bandage[1];
count++;
if (count == bandage[0]) {
health += bandage[2];
count = 0;
}
if (health > max) health = max;
}
time++;
if (health <= 0) return -1;
}
return health > 0 ? health : -1;
}
}
후기
기말 프로젝트가 너무 많아서 한동안 코딩테스트 문제를 풀지 못했다... 그래서 다시 익숙해질 필요가 있어서 쉬운 문제부터 다시 풀기로 했다. 근데 오랜만에 들어가니 다 풀었던 1단계 문제에 새로운 문제가 보였다. 난이도는 그렇게 어렵지 않은 편인데 나는 한 번 틀렸었다. 6번과 9번이었나 이 두 개만 통과하지 못했는데 문제를 다시 읽어보니 체력이 0 이하로 떨어지면 다시 회복을 하지 않는다는 것을 그냥 지나쳤던 것이다... 그래서 해당 부분을 넣으니까 바로 통과됐다. 문제를 잘 읽는 습관을 들이도록 하자.
'코딩테스트 (프로그래머스) > Java' 카테고리의 다른 글
| [프로그래머스][Java][Lv. 2] [PCCP 기출문제] 3번 / 아날로그 시계 (0) | 2023.12.26 |
|---|---|
| [프로그래머스][Java][Lv. 1] [PCCE 기출문제] 10번 / 데이터 분석 (0) | 2023.12.26 |
| [프로그래머스][JAVA][Lv. 2] 숫자 변환하기 (0) | 2023.11.05 |
| [프로그래머스][JAVA][Lv. 2] 롤케이크 자르기 (0) | 2023.11.04 |
| [프로그래머스][JAVA][Lv. 2] 파일명 정렬 (0) | 2023.11.01 |