[Greedy] 백준 - 회의실 배정 1931번

황준승·2021년 6월 2일
0
post-thumbnail

👌 문제 요약

각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다.

😎 key point

입력받은 회의시간을 정렬하고 회의가 끝나는 시간(result)이 시작시간(입력값)보다 크다면 횟수를 추가한다.

😂 코드

n = int(input())

lst = []

for _ in range(n):
    lst.append(list(map(int, input().split())))

lst.sort()

cnt = 0

#회의 최단 시간을 result 리스트에 저장 [시작, 끝] ex) [1,4] + [5,7] = [1,7]
result = [0,0]

for i in lst:
    # 추가 
    if result[1] <= i[0]:
        cnt += 1
        result = [result[0],i[1]]

    # 수정    
    elif result[0] <= i[0] and i[1] <= result[1]:
        result = [result[0], i[1]]
profile
다른 사람들이 이해하기 쉽게 기록하고 공유하자!!

0개의 댓글