본문 바로가기
정리/알고리즘

탐욕법 - 단속카메라

by Hudini30 2022. 3. 3.

프로그래머스(탐욕법) - 단속카메라

해당 문제는 생각하기에 따라 어려울 수도 있고 쉬울수도 있을듯합니다. 먼저입력받은 route를 진출지점 기준으로 오름차순으로 정렬한 후 진입지점이 카메라 위치보다 먼곳에 위치하면 진출지점에 카메라를 설치하도록 합니다. 진출지점 기준으로 오름차순으로 정렬했기 때문에 다음 route의 진입 지점이 카메라 위치보다 작다면 카메라를 설치할 필요가 없습니다.

public int solution(int[][] routes) {
        int answer = 0;
        PriorityQueue<int[]> priorityQueue = new PriorityQueue<>(Comparator.comparingInt(o -> o[1]));
        int cameraIndex = Integer.MIN_VALUE;

        for (int i = 0; i <routes.length; i++) {
            priorityQueue.add(routes[i]);
        }

        while (!priorityQueue.isEmpty()) {
            int[] route = priorityQueue.poll();

            if (cameraIndex < route[0]) {
                cameraIndex = route[1];
                answer++;
            }
        }
        return answer;
    }

'정리 > 알고리즘' 카테고리의 다른 글

DP - 정수 삼각형  (0) 2022.03.07
DP - N으로 표현  (0) 2022.03.04
탐욕법 - 섬 연결하기  (0) 2022.03.02
탐욕법 - 구명보트  (0) 2022.03.01
탐욕법 - 큰 수 만들기  (0) 2022.02.23

댓글