알고리즘 연습

C++ 1931 회의실 배정

스폰지박 2021. 10. 7. 20:05
반응형

문제를 이해하는것도 한참걸렸다.

#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을 초기화 해준다.

반응형