프로그래머스

[프로그래머스] 단속 카메라 (javascript)

해랑쓰 2021. 3. 19. 23:53
728x90
반응형

1. 시작점을 기준으로 오름차순 정렬한다.  기준점은 시작점의 끝나는 지점이다. (end)

 

2. 만약 다음 배열의 시작점이 기준점(이전 지점)보다 먼저라면 범위가 겹치는 지점이다. 끝나는 점이 더 작은 걸로 end를 갱신한다.

 

3. 만약 다음 지점의 시작점과 기준점보다 크다면 범위가 겹치치 않는다.  현재의 end지점에 카메라를 설치하고 end를 새로운 범위의 끝점으로 갱신해라.

 

4. 반복 

function solution(routes) {
    var answer = 1;
    routes.sort((a,b)=>a[0]-b[0]);
    let end=routes[0][1];
    for(let i=1;i<routes.length;i+=1){
        const [s,e]=routes[i];
        if(s<=end){
            if(e<end){
                end=e;
            }
        }else{
            answer+=1;
            end=e;
        }
    }
    return answer;
}
728x90
반응형