728x90
반응형
n = int(input()) # 회의의 수
data=[]
for i in range(n):
data.append(list(map(int,input().split()))) # [ 시작시간, 끝나는 시간 ]
data=sorted(data, key = lambda x: (x[1],x[0]) )
cnt= 0
m = 0
for meet in data:
if meet[0] >= m :
cnt += 1
m = meet[1]
print(cnt)
step1) 가장 빨리 끝나는 순서로 정렬한 수, 시작 시간 별로 정렬한다.
step2) 제일 처음으로 , 가장 빨리 끝나는 강의가 포함된다.
step3) 그 이후로는, 앞의 강의가 끝나는 시간에 가장 가깝게 시작되는 강의를 배치하고 그 강의 끝에 다시 가장 가까운 강의를 배치한다.
https://www.acmicpc.net/problem/1931
1931번: 회의실배정
(1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다.
www.acmicpc.net
728x90
반응형
'백준 > 그리디' 카테고리의 다른 글
# 4796 캠핑 (0) | 2021.03.08 |
---|---|
# 1439번: 뒤집기 (0) | 2020.10.15 |
# 14720 우유 축제 (0) | 2020.09.18 |
# 11047 동전 0 (0) | 2020.09.02 |
# 1541 잃어버린 괄호 (0) | 2020.09.02 |