Algorithm
Level 1
250137

250137

Link

https://school.programmers.co.kr/learn/courses/30/lessons/250137 (opens in a new tab)

Answer

JavaScript

function solution(bandage, health, attacks) {
  let currHealth = health;
  let currTime = 0;
 
  for (let [attackTime, damage] of attacks) {
    let diffTime = attackTime - currTime - 1;
    currHealth +=
      diffTime * bandage[1] + Math.floor(diffTime / bandage[0]) * bandage[2];
 
    if (currHealth > health) currHealth = health;
    currHealth -= damage;
    if (currHealth <= 0) return -1;
    currTime = attackTime;
  }
 
  return currHealth;
}