개발자 김수진

[프로그래머스] 단속카메라 본문

알고리즘/프로그래머스

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

김수진장 2020. 9. 21. 22:34

[문제]

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

 

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

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

programmers.co.kr

[풀이]

 

 

차량 이동경로를 sort 함수를 사용해 오름차순으로 정렬한다.

첫번째 이동경로의 진출 지점을  CCTV의 위치로 초기화

 

두번째 이동경로부터 마지막 이동경로까지 

현재 이동경로의 진출 지점이 CCTV의 위치보다 앞에 있는 경우 => CCTV의 위치만 update

현재 이동경로의 진입 지점이 CCTV의 위치보다 뒤에 있는 경우 => CCTV의 위치 update, CCTV 설치 갯수 1 증가.

 

[코드]

 

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(vector<vector<int>> routes) {
    int answer = 1;
    sort(routes.begin(), routes.end());
    
    int pos = routes[0][1];
    
    for(int i=1;i<routes.size();i++){
        if(routes[i][1] < pos)  pos = routes[i][1];
        else if(routes[i][0] > pos){
            answer++;
            pos = routes[i][0];
        }
    }
    return answer;
}

 

진짜 간단하게 풀 수 있는 문제인데 처음에 너무 복잡하게 생각했다.