풍선이 가로로 차지하는 첫 지점과 끝지점들의 배열이 주어지는데, 이들을 화살로 터뜨린다고 할때 최소한의 화살로 터뜨릴 경우
화살을 몇개나 쓰는가?
Input: points = [[10,16],[2,8],[1,6],[7,12]]
Output: 2
Explanation: The balloons can be burst by 2 arrows:
- 6 지점에 쏘면 2,8 과 1,6 이 터진다.
- 11 지점에 쏘면 10, 16 과 7, 12 이 터진다.
class Solution:
def findMinArrowShots(self, points: List[List[int]]) -> int:
points.sort(key=lambda a: a[1])
last_point = points[0][1]
arrow = 1
for i in range(1, len(points)):
if points[i][0] > last_point:
last_point = points[i][1]
arrow += 1
return arrow