Beakjoon 1931 회의실 배정
in Algorithm
문제 링크 : https://www.acmicpc.net/problem/1931
나의 풀이
회의의 최대 개수를 결정하는 것은 회의 종료시간이다.
회의 종료시간이 가장 빠른 순서대로 회의를 결정하면 문제를 쉽게 해결할 수 있다.
풀이 코드 : 1931 회의실 배정
#include <vector>
#include <stdio.h>
#include <algorithm>
using namespace std;
bool compare(pair<long long,long long> a, pair<long long, long long> b){
return a.second < b.second;
}
int main(){
int N;
scanf("%d",&N);
vector<pair<long long,long long>> meeting;
long long start, end;
for(int i = 0;i<N;i++){
scanf("%lld %lld", &start, &end);
meeting.push_back(make_pair(start, end));
}
sort(meeting.begin(), meeting.end(), compare);
int answer = 0;
long long last = -1;
for(int i = 0;i<meeting.size();i++){
if( last <= meeting[i].first){
last = meeting[i].second;
answer++;
}
}
printf("%d", answer);
}