자기개발/코딩테스트

C++ (코딩테스트) - 회의실 배정(백준)

pi92 2023. 9. 19. 10:21

https://www.acmicpc.net/problem/1931

 

1931번: 회의실 배정

(1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다.

www.acmicpc.net

 

<코드>

 

#include <stdio.h>
#include <algorithm>
#include <vector>
#include <iostream>

using namespace std;

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

int main()
{
	int N;
	int start, end;
	vector<pair<int, int>> list;

	cin >> N;

	for (int i = 0; i < N; i++)
	{
		cin >> start >> end;
		list.push_back(make_pair(start, end));
	}

	sort(list.begin(), list.end(), cmp);

	int time = list[0].second;
	int cnt = 1;	

	for (int i = 1; i < N; i++)
	{
		if (time <= list[i].first)
		{
			time = list[i].second;
			cnt++;
		}
	}
	cout << cnt;
}