[Python] 백준 1931 - 회의실 배정

혜원·2023년 1월 8일
0

백준

목록 보기
23/25

백준 1931-회의실 배정

문제

코드

import sys

input = sys.stdin.readline

N = int(input())
li = []

for _ in range(N):
    fir, sec = map(int, input().split())
    li.append([fir, sec])

sort_list = sorted(li)
tmp = [sort_list[0][0], sort_list[0][1]]
cnt = 1

for i in range(1, N):
    if sort_list[i][1] < tmp[1]:
        tmp = [sort_list[i][0], sort_list[i][1]]
    else:
        if sort_list[i][0] >= tmp[1]:
            cnt += 1
            tmp = [sort_list[i][0], sort_list[i][1]]

print(cnt)

해설

  1. 먼저 회의 시작 순서대로 정렬해준다.
  2. 회의가 끝나는 시간이 tmp에 있는 끝나는 시간보다 작으면 tmp를 교체해준다.
  3. 만약 회의 시작 시간이 tmp에 있는 끝나는 시간보다 크거나 같으면 cnt+1을 해주고 tmp를 교체한다.
  4. 회의 시작시간과 끝나는 시간이 같을 수 있으므로 주의하자.
profile
안녕하세요

0개의 댓글