python

BOJ 1931. 회의실 배정(Greedy)

륵기 2022. 10. 1. 01:04
728x90
반응형

https://www.acmicpc.net/problem/1931

 

1931번: 회의실 배정

(1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다.

www.acmicpc.net

n = int(input())

t = []
for _ in range(n):
    s, e = map(int, input().split())
    t.append([e, s])
    
t.sort()


mt_end = -1
cnt = 0
for i in range(n):
    if t[i][1] >= mt_end:
        mt_end = t[i][0]
        cnt += 1
        
    
    
print(cnt)

매 입력으로 회의 시작, 끝 시간 입력된다.

회의가 끝나는 시간 기준으로 정렬을 하게 되면 각 회의 마다 시작 시간 비교가 가능하다

(1, 4) (3,5) 를 예시로 첫 회의가 끝나는 시간은 4시이다.

그러나 다음 회의 시작 시간이 3시로 나와있어 시작이 해당 회의는 시작 불가능하다. 

그럼 이것에 대한 비교를 이전 회의 끝시간이 다음 회의 시작시간이 더 늦어야 시작이 가능한 회의가 된다.

728x90
반응형