https://leetcode.com/problems/minimum-number-of-arrows-to-burst-balloons/


class Solution:
    def findMinArrowShots(self, points: List[List[int]]) -> int:
        points.sort()
        ans, cur, cut = 0, points[0][0], points[0][1]
        for start, end in points:
            if start <= min(cut, end) :
                cur, cut = start, min(cut, end)
            else :
                cur, cut, ans = cut+1, end, ans+1

        return ans + 1


귀찮으니까 그냥 O(N)으로 긁도록 하겠습니다. 

점들을 계속 받으면서 가장 일찍 끝나는 녀석보다 늦게 시작하는 놈이 나오면 화살 쏴야됨.