디펜스 게임
Lv. 2
Solution
import { Heap, range } from '@algorithm/lib';
export function defenseGame(n: number, k: number, enemy: number[]): number {
const heap = new Heap<number>((a, b) => a - b);
for (const i of range(k)) {
heap.push(enemy[i]);
}
let remain = n;
for (const i of range(k, enemy.length)) {
heap.push(i);
remain -= heap.pop() || 0;
if (remain < 0) {
return i;
}
}
return enemy.length;
}