이 문제를 제대로 읽지 않고 풀었더니 오류가 나왔다.
최대 사용할 수 있는 회의의 최대 개수를 구해야하는데 최대 개수를 구하지 않고 개수만 구하였더니 계속 오류가 났다
이를 해결하기 위해 정렬을 해줘야 하는데 vector 에서 pair 형태로 넣고
회의가 끝나는 시간이 같다면 회의가 시작하는 시간이 더 빠른 회의를 우선으로
회의가 끝나는 시간이 다르다면 회의가 끝나는 시간이 더 빠른 회의를 우선으로 정렬하였다.
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<pair<int, int>>s;
bool cmp(pair<int, int> first, pair<int, int> second) {
if (first.second == second.second)
return first.first < second.first;
else
return first.second < second.second;
}
int main() {
int cnt;
cin >> cnt;
for(int i=0;i<cnt;i++){
int num1, num2;
cin >> num1 >> num2;
s.push_back(pair<int, int>(num1, num2));
}
sort(s.begin(), s.end(), cmp);
int start = s[0].second;
int count = 1;
for (int i = 1; i < cnt; i++) {
if (s[i].first >= start) {
start = s[i].second;
count++;
}
}
cout << count;
}
'문제풀이 > 백준' 카테고리의 다른 글
[C++] 백준 2630 문제풀이 (0) | 2021.02.16 |
---|---|
[C++] 백준 2606 문제풀이 (0) | 2021.02.16 |
[C++] 백준 1927번 문제풀이 (0) | 2021.02.15 |
[C++] 백준 1389번 문제풀이 (0) | 2021.02.14 |
[C++] 백준 1764번 문제풀이 (0) | 2021.02.11 |