[LeetCode] 452. Minimum Number of Arrows to Burst Balloons

Chobby·2026년 2월 27일

LeetCode

목록 보기
1012/1063

😎풀이

  1. points의 각 요소를 풍선의 종료 지름을 기준으로 오름차 순 정렬
  2. 만약, 이전 풍선과 겹쳐 터뜨릴 수 있는 상황이라면 별도로 추가 화살을 사용하지 않음
  3. 아니라면, 화살을 추가로 사용하고 최대한 겹쳐 터뜨릴 수 있도록 현재 풍선의 종료 지름을 저장
  4. 모든 풍선을 터뜨리는 것에 필요한 최소 화살의 수 반환
function findMinArrowShots(points: number[][]): number {
    const sorted = points.toSorted((a, b) => a[1] - b[1])
    let arrows = 0
    let lastEnd = -Infinity
    for(const [start, end] of sorted) {
        if(start <= lastEnd) continue
        arrows++
        lastEnd = end
    }

    return arrows
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글