[프로그래머스(Programmers)] 단속카메라 (java/탐욕법)

1
post-thumbnail

안녕하세요. 오늘은 프로그래머스의 단속카메라 문제를 풀어보겠습니다.!!


문제 링크

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

0개의 댓글