programmers.co.kr/learn/courses/30/lessons/42884
코딩테스트 연습 - 단속카메라
[[-20,15], [-14,-5], [-18,-13], [-5,-3]] 2
programmers.co.kr
public int solution(int[][] routes) {
Arrays.sort(routes, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
return Integer.compare(o1[0], o2[0]);
}
});
int answer = 1;
int cur = routes.length - 1;
for (int i = routes.length - 1; i >= 1; i--) {
if (routes[i - 1][1] < routes[cur][0]) { // 포함하지않으면
answer++;
cur = i-1;
}
}
return answer;
}
소요시간 : 45분
일단은 차량이 진입한 시점을 기준으로 오름차순 정렬을 했다.
다음 끝에서부터 진입한 시점과 그 다음 차량의 고속도로 나간 시점을 비교해서
나간 시점이 진입시점보다 작으면 answer++, cur이 가리키는 지점을 바꿔 새롭게 비교하는 식으로 풀었다.