안녕하세요. 오늘은 프로그래머스의 단속카메라 문제를 풀어보겠습니다.!!
https://programmers.co.kr/learn/courses/30/lessons/42884
routes배열을 끝점(routes[1])을 기준으로 정렬한 후, 배열을 돌면서 camera가 설치되어있지 않으면 새로 설치한다.
import java.util.*;
class Solution {
public int solution(int[][] routes) {
int answer = 0;
int camera = Integer.MIN_VALUE;
Arrays.sort(routes, new Comparator<int[]>(){
@Override
public int compare(int[] r1, int[] r2) {
return r1[1]-r2[1];
}
});
for(int[] arr: routes) {
if(camera < arr[0]) {
camera = arr[1];
answer++;
}
}
return answer;
}
}
너무 어렵게 생각해서 오래걸렸고, 결국 풀지 못했다. 탐욕법의 정의에 대해 고민해보고 다시 한 번 풀어봐야겠다.!
[참고한 곳]
https://velog.io/@ahnick/programmers-%EB%8B%A8%EC%86%8D%EC%B9%B4%EB%A9%94%EB%9D%BC