[백준] 회의실 배정(C++)

2025. 5. 12. 16:58·개발/알고리즘
728x90

문제링크

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

 

 

코드 구현

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

using namespace std;

int main()
{
	int N;
	cin >> N;

    vector<pair<int, int>> meetings(N);

    for (int i = 0; i < N; ++i) 
    {
        cin >> meetings[i].first >> meetings[i].second;
    }

    // 끝나는 시간 기준 오름차순 정렬
    sort(meetings.begin(), meetings.end()
        , [](pair<int, int>& a, pair<int, int>& b){ 
            if (a.second == b.second) return a.first < b.first;
            return a.second < b.second;
        });

    int count = 0, last_end_time = 0;

    for (const auto& meeting : meetings) 
    {
        if (meeting.first >= last_end_time) 
        {
            last_end_time = meeting.second;
            count++;
        }
    }

    cout << count << '\n';
    return 0;
}

 

 

해결 방법

끝나는 시간을 기준으로 오름차순으로 정렬 후, 이전 회의 종료시간보다 같거나 늦게 시작하는 회의를 선택한다.

'개발 > 알고리즘' 카테고리의 다른 글

[프로그래머스] 가장 먼 노드(C++)  (1) 2025.05.15
[프로그래머스] 길 찾기 게임(C++)  (2) 2025.05.13
[백준] 평범한 배낭( C++)  (1) 2025.05.12
[프로그래머스] n개의 최소공배수(C++)  (2) 2025.05.10
[프로그래머스] 전력망을 둘로 나누기(C++)  (1) 2025.05.06
'개발/알고리즘' 카테고리의 다른 글
  • [프로그래머스] 가장 먼 노드(C++)
  • [프로그래머스] 길 찾기 게임(C++)
  • [백준] 평범한 배낭( C++)
  • [프로그래머스] n개의 최소공배수(C++)
Majangnan
Majangnan
  • Majangnan
    개발 모코코
    Majangnan
  • 전체
    오늘
    어제
    • 분류 전체보기 (77) N
      • 개발 (76) N
        • C# (10)
        • SQL (3)
        • Unity (9)
        • Unreal (10)
        • C++ (3)
        • Server (1)
        • DX11 (8)
        • 알고리즘 (31) N
  • 블로그 메뉴

    • 홈
    • 방명록
    • 깃허브
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    MAC
    c++
    UnReal
    슈팅게임
    코딩테스트
    blueprint
    sql
    블루프린트
    3dlight
    Mecanim
    언리얼
    DX11
    알고리즘
    C#
    프로그래머스
    DirectX11
    백준
    dx3d
    상속
    Unity
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Majangnan
[백준] 회의실 배정(C++)
상단으로

티스토리툴바