[알고리즘/백준] 1931번 : 회의실 배정(python)

유현민·2022년 2월 18일
0

알고리즘

목록 보기
7/253
post-custom-banner

  • 처음 생각
    2차원 배열로 만들고 시작 시간으로 정렬 후 처음 들어오는 회의는 전체 회의의 (제일 마지막에 끝나는 시간 - 제일 처음 시작하는 시간) / 2 보다 작아야 한다 라고 생각을 했다... 근데 손코딩으로 도저히 불가능해서 1시간 고민 후 답을 보았다.

한번에 조건 두개로 정렬을 하는게 포인트였다... 끝나는 시간을 첫 번째 조건으로 주고 시작 시간을 두 번째 조건으로 줬다.

a = [list(map(int, input().split())) for _ in range(int(input()))]
f = sorted(a, key=lambda x: (x[1], x[0]))
s = e = cnt = 0
for i in f:
    s = i[0]
    if cnt == 0:
        e = i[1]
        cnt += 1
    elif e <= s:
        cnt += 1
        e = i[1]
print(cnt)
profile
smilegate
post-custom-banner

0개의 댓글