(백준 알고리즘 문제풀이) 1931번 회의실배정
by 줌코딩
문제
어떻게 접근할 것인가?
- 끝나는 시간이 빠른 순으로 솔팅해서 하나씩 끝내면서 다음 회의 시작시간이 최근 회의 시간 이후면 추가해주면 끝.
코드
#include <string>
#include <vector>
#include <iostream>
#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() {
long long n, t = 0, answer = 0;
vector<pair<long long, long long> > v;
cin >> n;
for(int i = 0; i < n; i++){
long long start, end;
cin >> start >> end;
v.push_back(make_pair(start, end));
}
sort(v.begin(), v.end());
sort(v.begin(), v.end(), compare);
for(int i = 0; i < n; i++){
if(t <= v[i].first){
t = v[i].second;
answer ++;
}
}
cout << answer;
}
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
Subscribe via RSS