백준/그리디
# 1931 회의실 배정
bright_code
2020. 9. 18. 10:39
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
반응형