코딩 테스트/프로그래머스

프로그래머스 - 단속카메라 문제 (자바)

programmers.co.kr/learn/courses/30/lessons/42884

 

코딩테스트 연습 - 단속카메라

[[-20,15], [-14,-5], [-18,-13], [-5,-3]] 2

programmers.co.kr

1. 차량의 나간 지점을 오름차순으로 해서 정렬

2. 카메라 초기값을 -30000 으로 설정

3. 차량 정보를 순회하면서 차량의 진입 지점이 카메라 값보다 작은 큰 경우 해당 차량의 나간 지점에 카메라 설치

4. 3 반복 후 갯수 리턴

import java.util.Arrays;

// 프로그래머스 단속카메라 문제
class Camera {
    public int solution(int[][] routes) {
        // 끝나는 시점으로 정렬
        Arrays.sort(routes, ((o1, o2) -> Integer.compare(o1[1], o2[1])));
        int answer = 0;
        int camera = -30000;

        for(int[] route: routes) {
            // 시작 지점이 카메라 설치 지점보다 뒤에 있으면
            // 끝 지점에 카메라 설치
            if(route[0] > camera) {
                camera = route[1];
                answer+=1;
            }
        }
        return answer;
    }
}