import java.util.*;
class Solution {
public int solution(int[][] routes) {
int answer = 0;
// 진출 지점을 기준으로 오름차순
Arrays.sort(routes, (o1, o2) -> {
return o1[1] - o2[1];
});
int camera = routes[0][1]; // 첫번째 진출 지점
answer++;
for(int i=0; i<routes.length; i++) {
if(camera >= routes[i][0] && camera <= routes[i][1]) continue;
camera = routes[i][1]; // 진출 지점
answer++;
}
return answer;
}
}
처음에는 진입 시점을 기준으로 오름차순으로 정렬 한 후 위와 같은 코드를 실행하였더니 실패가 떴다...!
왜 틀릴까 고민하면서 힌트를 참고해서 그림으로 그려봤다.
결과를 보니 진출 시점을 기준으로 오름차순을 정렬하는게 맞았다! 🙌🏻