https://school.programmers.co.kr/learn/courses/30/lessons/181188
미사일의 끝점을 기준으로 정렬시켜 해당 미사일이 커버가능한 시작점을 찾는 원리다.
위의 사진은 각 미사일을 끝점을 기준으로 오름차순 정렬시킨 그림과 유사하다.(3,7)와 (4,8)의 순서만 바꾸면 완벽이 정렬된 상태이다.
개구간이므로 다음 미사일의 시작점이 before 값 이상이라면 미사일을 하나 추가한다.
(폐구간이라면 초과일 때만)
import java.util.*;
class Solution {
public int solution(int[][] targets) {
int answer = 0;
Arrays.sort(targets, (o1, o2) -> o1[1] - o2[1]);
int before = 0;
for(int i=0;i<targets.length;i++){
if(before <= targets[i][0]){
before = targets[i][1];
answer++;
}
}
return answer;
}
}