Algorithm/유형별 : Greedy

[C++] [Greedy] 백준 1931번 : 회의실 배정

쟌쥰 2020. 2. 2. 13:56

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

 

1931번: 회의실배정

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

www.acmicpc.net

#include<iostream>
#include<algorithm>
using namespace std;
typedef struct time {
	int s;
	int e;
}T;
bool cmp(T f, T s) {
	if (f.e == s.e)
		return f.s < s.s;
	else
		return f.e < s.e;
}
int main(void) {
	int n;
	cin >> n;

	T *num = new T[n]; // new[]연산자 사용한 동적 배열할당
	for (int i = 0; i < n; i++) 
		cin >> num[i].s >> num[i].e;	

	sort(num, num + n, cmp);

	//음,, 알아서 알아듣도록
	int answer = 1;
	int index = 0;

	for (int i = 1; i < n; i++) {
		if (num[index].e <= num[i].s) {
			index = i;
			answer++;
		}
	}

	cout << answer;
}