[알고리즘] 백준 1931 : 회의실 배정 - S1

eternal moment·2023년 4월 26일
0

2023.04.24 풀이

import sys
input=sys.stdin.readline

n=int(input())
arr=[]

for _ in range(n):
    a,b=map(int, input().split())
    arr.append((a,b))

arr.sort(key=lambda x:(x[1], x[0])) #빨리 끝나는 순

cnt=0
last=0

for i, j in arr:
  if i >= last: # 시작시간이 회의의 마지막 시간보다 크거나 같을경우
    cnt += 1
    last = j

print(cnt)

다른 풀이

check point

  • 회의가 빨리 끝나는 순으로 정렬 후
  • 시작시간이 마지막 시간 보다 늦는 경우를 선택하면 -> 가장 빨리 시작해서 가장 빨리 끝나는 경우가 됨

0개의 댓글