
소스코드
package programmers;
import java.util.HashMap;
import java.util.Map;
public class PCCP기출문제1번 {
static int curHealth;
static Map<Integer, Integer> attackMap = new HashMap<>();
static int maintainTime;
static int endTime;
public int solution(int[] bandage, int health, int[][] attacks) {
curHealth = health;
endTime = attacks[attacks.length - 1][0];
for (int i = 0; i < attacks.length; i++) {
attackMap.put(attacks[i][0], attacks[i][1]);
}
for (int i = 1; i <= endTime; i++) {
if (attackMap.containsKey(i)) {
curHealth -= attackMap.get(i);
maintainTime = 0;
}
else {
maintainTime++;
curHealth += bandage[1];
if (maintainTime == bandage[0]) {
curHealth += bandage[2];
maintainTime = 0;
}
if (curHealth > health)
curHealth = health;
}
if (curHealth <= 0) return -1;
}
return curHealth;
}
}
느낀점
-> 구현문제는 감이 생명인 것 같다. 한동안 구현문제를 풀지않으니 사고는 하고있지만 바로 코드로 녹여내기가 쉽지 않았다. 꾸준하게 구현문제를 풀어보자