본문 바로가기
프로그래머스

프로그래머스 단속카메라

by 콩순이냉장고 2021. 11. 2.

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

 

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

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

programmers.co.kr

문제 접근법: 출발점을 기준으로 정렬합니다.

최소한의 단속카메라를 설치하는 문제인데 

내 도착지점이 다음 차의 출발지점보다 크다면 다음차는 본인과 겹치도록 설치해야 합니다. 그렇지한다면 겹치지않으니

단속카메라는 하나 늘어나겠고 도착점을 그다음의차 기준으로 삼고

겹치면 도착점이 그차의 도착점보다 크거나 같으면  작은것을 기준으로 도착지점을 설정해서 

카운트해주면 됩니다.

 

소스코드 : 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <bits/stdc++.h>
using namespace std;
#define pii pair<int,int>
int solution(vector<vector<int>> routes) {
    int answer = 1;
    sort(routes.begin(), routes.end());
    int end = routes[0][1];
    for (int i = 1; i < routes.size(); i++) {
        if (end < routes[i][0]) {
            answer++;
            end = routes[i][1];
        }
        if (end >= routes[i][1]) {
            end = routes[i][1];
        }
    }
    return answer;
}
cs

 

궁금한점 혹은 모르는점 어떤질문이든 댓글은 언제나 환영입니다.