반응형
    
    
    
  
문제를 이해하는것도 한참걸렸다.
#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을 초기화 해준다.
반응형
    
    
    
  '알고리즘 연습' 카테고리의 다른 글
| 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 |