Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

행복한 개구리

백준 22.03.05. 1931번 - 회의실 배정 본문

Algorithm/BaekJoon

백준 22.03.05. 1931번 - 회의실 배정

HappyFrog 2022. 3. 5. 13:02

n = int(input())

mp = [list(map(int, input().split())) for i in range(n)]

mp.sort(key=lambda x: (x[1], x[0]))

end = 0
cnt = 0
for i in range(n):
    if mp[i][0] >= end:
        cnt += 1
        end = mp[i][1]

print(cnt)
  • 처음 회의를 시작하는 팀은 가장 빨리 끝나는 팀으로 지정해주어야 합니다.
  • 이를 위해서 정렬을 해주어야하는데, 정렬을 두번 하는 이유는 종료시간으로만 정렬을 했을 때, 시작시간은 오름차순이 아닌 입력받은 순서대로 정렬되기 때문입니다.
    • ▲ 종료시간으로만 정렬한 결과 // 종료시간 정렬 후 시작시간 정렬한 결과
  • 그 이후로는 다른 팀들의 시작시간이 이전팀의 회의 종료시간과 같거나 더 늦어야합니다.
  • 이를 통해 회의 종료시간을 갱신하며 회의를 한 팀의 수(cnt)를 1씩 늘려주면 됩니다.