pair data type에 sort함수를 적용하면 first를 기준으로 오름차순 sorting한다. 그러므로 끝나는 시간 순으로 정렬하고 싶으면 끝나는 시간을 first에 담으면 된다.
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
int N;//회의의 개수!
pair<int, int> meeting_time[100000];
//freopen("Text2.txt", "r", stdin);
cin >> N;
//first에 끝나는 시간을 넣고 second에 시작하는 시간을 넣는다.
for (int i = 0; i < N; i++) {
cin >> meeting_time[i].second >> meeting_time[i].first;
}
sort(meeting_time, meeting_time + N); //끝나는 시간이 제일 짧은 순으로 sorting한다.
//int ans = 0;
int cnt = 0;
int load = 0; //이전의 끝시간
for (int i = 0; i < N; i++) {
if (meeting_time[i].second >= load) {
load = meeting_time[i].first;
cnt++;
}
}
cout << cnt;
return 0;
}
'Programming > BOJ' 카테고리의 다른 글
[백준/C++] 백준 1987번: 알파벳 (0) | 2020.07.28 |
---|---|
[백준/C++] 백준 1759번 : 암호만들기 (0) | 2020.07.28 |
[백준/C++] 백준 1697번: 숨바꼭질 (0) | 2020.07.16 |
[백준/C++] 백준 1652번: 누울 자리를 찾아라 (0) | 2020.07.15 |
[백준/C++] 1260번: DFS와 BFS (0) | 2020.07.13 |