이전문제와 유사하게 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;
}
}