Basic
2126. Destroying Asteroids
초기 질량으로 행성을 오름차순으로 처리하며 모든 행성을 파괴할 수 있는지 그리디하게 판별하는 방법
Oct 18, 2025 — greedy
- 행성을 파괴하기 위해서는 행성의 질량이 행성의 질량보다 크거나 같아야 하고, 파괴한 이후에는 행성의 질량을 더해줘야 함.
- 행성 전체를 파괴할 수 있는가 ?
- 행성의 질량을 오름차순으로 정렬한다.
- 행성 가벼운 것부터 순회를 하면서 충돌을 시켜서 파괴할 수 있는지 체크
- 행성이 더 무거워서 파괴할 수 없으면 파괴할 수 없다고 판단하고 false 를 반환
- 행성을 파괴할 수 있으면 행성의 질량을 더해준다.
- 모든 행성을 파괴할 수 있으면 true 를 반환
/** * @param {number} mass * @param {number[]} asteroids * @return {boolean} */var asteroidsDestroyed = function(mass, asteroids) { const N = asteroids.length;
asteroids.sort((a,b) => a - b);
for (const asteroid of asteroids) { // 충돌 if (mass < asteroid) return false;
// 파괴 mass += asteroid; }
return true;};