[BOJ] 백준 1931 회의실 배정

태환·2024년 2월 7일
0

Coding Test

목록 보기
58/151

📌 [BOJ] 백준 1931 회의실 배정

📖 문제

📖 예제

📖 풀이

import sys

N = int(input())
meetings = []
for _ in range(N):
  meetings.append(list(map(int, sys.stdin.readline().split())))

meetings.sort(key=lambda x: (x[1], x[0]))

time = 0
cnt = 0
for s, e in meetings:
  if time <= s:
    time = e
    cnt += 1

print(cnt)

회의실을 최대로 배정하기 위해서는 회의가 끝나는 시간의 오름 차순으로 정렬해야한다.
그런 뒤 끝나자마자 바로 회의를 진행하는 경우가 있을 수 있기 때문에 끝나는 시간이 같은 회의들은 시작 시간의 오름 차순으로 회의들을 정렬한다.
이제 오름 차순으로 정렬한 회의들을 하나씩 불러와 시작 시간이 현재 회의가 끝난 시간보다 클 경우 그 회의를 진행하며 cnt를 하나씩 올린 후 마지막에 출력한다.

profile
연세대학교 컴퓨터과학과 석사 과정

0개의 댓글