[c++] 백준 알고리즘 공부 1931

강찬희·2023년 2월 24일
0

백준

목록 보기
2/9
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

bool compare(pair<int, int> a, pair<int, int> b) {
	if (a.second == b.second)
		return a.first < b.first;

	return a.second < b.second;
}


vector<pair<int, int>> meeting;
int main() {

	// 한개의 회의실 n개의 회의에 대하여 사용표
	// 각 회의 i에 대해 시작시간 끝나는 시간
	// 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수
	// 회의의 시작시간과 끝나는 시간이 같을 수 있다.

	ios::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);

	int n;
	cin >> n;
	int a, b;
	
	for (int i = 0; i < n; i++)
	{
		cin >> a >> b;
		meeting.push_back({ a,b });
	}
	sort(meeting.begin(), meeting.end(),compare);
	
	int endtime = meeting[0].second;
	
	int cnt = 1;
	for (int i = 1; i < n; i++)
	{
		if (endtime <= meeting[i].first) {
			cnt++;

			endtime = meeting[i].second;
		}
	}
	cout << cnt;
}
profile
공부 기록

0개의 댓글