728x90
문제를 이해하는것도 한참걸렸다.
#include <iostream>
#include<vector>
#include <algorithm>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cout.tie(0);
cin.tie(0);
int n;
cin >> n;
vector<pair<int, int>>time(n);
int savetime = 0; int cnt = 0;
for (int i = 0; i < n;i++)
cin >> time[i].second >> time[i].first;
sort(time.begin(), time.end());
for (int i = 0; i < n; i++) {
if (savetime<=time[i].second) {
savetime = time[i].first;
cnt++;
}
}
cout << cnt;
}
이것 역시 다른 블로그의 이해가 쉬운 답을 보고 이해하고 작성했다.
끝나는 시간을 기준으로 정렬을 하고 가장 빨리 끝나는 시간대를 기준으로 정렬된 순서대로 시작시간이 크거나 같으면 savetime을 초기화 해준다.
728x90
'알고리즘 연습' 카테고리의 다른 글
C++ 1977 완전제곱수 (0) | 2021.10.11 |
---|---|
C++ 1541 잃어버린 괄호 (0) | 2021.10.07 |
C++ 11047 동전0 (그리디알고리즘) (0) | 2021.10.06 |
C++ 11650 좌표 정렬하기 (1) | 2021.10.01 |
C++ 1427 소트 인사이드 (0) | 2021.09.30 |