백준 1931 (C++) 회의실 배정
728x90
SMALL

그리디 알고리즘

종료시간 기준 정렬


코드

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;
int n, m, a, b, cnt;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0), cout.tie(0);
    
    cin >> n;
    vector<pair<int, int>> v;
    for(int i = 0; i < n; i++) {
        cin >> a >> b;
        v.push_back({ b, a }); // 종료시간 기준 정렬
    }
    sort(v.begin(), v.end());
    
    a = 0, cnt = 0;
    for(int i = 0; i < v.size(); i++) {
        if(v[i].second < a) continue;
        a = v[i].first;
        cnt++; // 최대 회의실 개수
    }
    cout << cnt;
    return 0;
}

728x90
LIST

'PS > BOJ' 카테고리의 다른 글

백준 14938 (C++) 서강그라운드  (0) 2021.09.30
백준 20044 (C++) Project Teams  (0) 2021.09.30
백준 11720 (C++) 숫자의 합  (0) 2021.09.29
백준 1158 (C++) 요세푸스 문제  (0) 2021.09.29
백준 1912 (C++) 연속합  (0) 2021.09.29