algorithm/Sorting, Binary Search
[C++] BOJ 1931 회의실 배정
gartenhh
2021. 5. 7. 23:23
문제
1931번: 회의실 배정
(1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다.
www.acmicpc.net
코드
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int n, cnt = 0;
int main() {
cin >> n;
vector<pair<int, int>> v;
int a, b;
for (int i = 0; i < n; i++) {
cin >> a >> b;
v.push_back({ b,a });
}
sort(v.begin(), v.end());
int ft = 0; //finish time
for (int i = 0; i < n; i++) {
if (v[i].second < ft) continue;
ft = v[i].first;
cnt++;
}
cout << cnt;
}
풀이방법
회의시간을 빨리 시작해서 빨리 끝나는 순서대로 정렬하고, 빨리 끝나는 것부터 차례대로 배정해준다.
고민과정
배열로 풀려다가 너무 복잡해져서 벡터를 이용했다.