[C++] 백준 1931번 풀이 (회의실 배정)

정민경·2023년 1월 13일
0

baekjoon

목록 보기
15/57
post-thumbnail

- 문제 (1931번) : 회의실 배정

  • N개의 회의를 하나의 회의실에서 진행하고자 할때 겹치지 않고 회의실을 사용할 수 있는 회의의 최대개수 찾기.

- 입력 및 출력

[입력]

  • 첫째 줄에 회의의 수 N 입력
  • 둘째 줄부터 N+1번째 줄까지 공백을 사이에 두고
    회의의 시작시간과 끝나는시간 입력

[출력]

  • 회의실을 사용할 수 있는 회의의 최대 개수 출력

- 문제 풀이

  • 여러개의 회의실이 아닌 딱 하나의 회의실이므로 이 전 회의가 끝나는시간과 같거나 늦게 시작하는 회의들의 개수를 세면 되는 문제이다.

    i-1번째 회의의 종료시간 <= i번째 회의의 시작시간

    을 만족하면 된다.

  • 이 조건을 만족하는 회의를 찾기 위해서는 "끝나는 시간" 을 기준으로 정렬해서 찾으면 편하게 찾을 수 있다.
  • 따라서 vector에 회의의 시작시간과 끝나는 시간을 push할때 <end, start> 로 pair 시켜 넣으면 sort 할 때 끝나는 시간을 기준으로 sorting 되어 쉽게 해결할 수 있다.


- 최종 코드

0개의 댓글