[프로그래머스] 단속카메라 - JS

잡초·2024년 7월 8일
0
post-thumbnail

문제


풀이

function solution(routes) {
    let answer = 1;  // 최소 필요한 카메라 개수 (최소 한 대는 필요함)
    
    // 경로의 시작 지점을 기준으로 오름차순 정렬
    routes.sort((a, b) => a[0] - b[0]);

    // 첫 번째 경로의 종료 지점
    let out = routes[0][1];
    
    // 두 번째 경로부터 마지막 경로까지 반복
    for (let i = 1; i < routes.length; i++) {
        // 현재 카메라가 감시할 수 없는 새로운 경로의 시작 지점이 나타나면
        if (out < routes[i][0]) {
            answer++;  // 카메라 추가 설치
            out = routes[i][1];  // 새로운 경로의 종료 지점으로 업데이트
        }
        // 현재 종료 지점이 새로운 경로의 종료 지점보다 크다면 업데이트
        // (더 좁은 범위로 감시하도록 조정)
        if (out > routes[i][1]) {
            out = routes[i][1];
        }
    }

    return answer;
}
profile
개발자가 되고싶은 잡초

0개의 댓글