[Intervals, Medium] Minimum Number of Arrows to Burst Balloons

송재호·2025년 4월 3일
0

https://leetcode.com/problems/minimum-number-of-arrows-to-burst-balloons/description/?envType=study-plan-v2&envId=leetcode-75

이전문제와 유사하게 end 기준 정렬한 뒤에
start가 end보다 큰 지 여부만 체크해주면 되겠다.

prevEnd보다 현재 start가 같거나 작다면 -> 같이 터지는거니까 아무 행동 하지 않음
prevEnd보다 현재 start가 크다면 -> 새 화살 필요, count증가, prevEnd 갱신

class Solution {
    public int findMinArrowShots(int[][] points) {
        Arrays.sort(points, (a, b) -> Integer.compare(a[1], b[1]));

        int count = 1;
        int prevEnd = points[0][1];

        for (int i=1; i<points.length; i++) {
            if (points[i][0] > prevEnd) {
                count++;
                prevEnd = points[i][1];
            }
        }

        return count;
    }
}
profile
식지 않는 감자

0개의 댓글