코딩테스트 연습 - 단속카메라 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

차가 고속도로에서 나간 지점에 대해 오름차순, 고속도로에 진입한 지점에 대해 내림차순으로 정렬한다.

고속도로에서 나간 지점에 대해 오름차순을 한 이유는 이 지점을 지나고 나면 이 차에 대해 단속 카메라를 설치할 수 없기 때문이다. 이후 이중 for문으로 이 지점에 단속카메라를 설치했을 때 범위에 걸리는지를 확인하면 된다.

 

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

using namespace std;

bool compare(vector<int> a, vector<int> b) {
	if (a[1] == b[1]) {
		return a[0] > b[0];
	}
	else {
		return a[1] < b[1];
	}
}

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

+ Recent posts