import java.util.*;
class Solution {
public int solution(int[][] routes) {
int answer = 0;
Arrays.sort(routes, (o1, o2) -> {
return o1[1]-o2[1];
});
int result_e = -Integer.MAX_VALUE;
for(int i=0; i<routes.length; i++){
int start = routes[i][0], end = routes[i][1];
if(start > result_e){
result_e = end;
answer++;
}
}
return answer;
}
}
그리디 알고리즘으로 해결한 문제
차량이 고속도로에서 나간 시점에 대하여 정렬한다.
차량이 나간 시점보다 시작 지점이 크다면 단속 카메라가 하나 더 필요한 경우이다. 이때 카메라를 하나 증가시키고 해당 차량의 나간 지점을 기준점으로 바꿔준다.