스터디룸 한 곳의 예약 기록이 bookings 배열로 주어집니다.
bookings[i] = [start, end]는 i번째 예약이 start분에 시작해 end분에 끝난다는 뜻입니다
(시각은 기준 시점부터 흐른 분 단위, 구간은 [start, end)).
예약은 신청 순서대로 들어와 있어 시간순이 아니며, 여러 팀이 같은 시간대를 겹쳐 예약하기도 합니다. 관리자는 방이 실제로 사용된 총 시간 이 궁금합니다. 겹치는 시간은 몇 팀이 예약했든 한 번만 셉니다.
방이 점유된 총 시간(분)을 반환하는 solution(bookings) 함수를 작성하세요.
bookings=[[540,600],[570,630],[700,720]] → 110
앞의 두 예약이 겹쳐 540~630(90분) 한 덩어리가 되고, 700~720이 20분 더해진다.
bookings=[[300,360],[200,240],[100,130]] → 130
겹치는 구간이 없다. 60 + 40 + 30 = 130.
bookings=[[100,200],[150,180]] → 100
두 번째 예약이 첫 번째 안에 완전히 들어간다.
bookings=[[10,20],[20,30]] → 20
앞 예약이 끝나는 시각에 뒤 예약이 시작하므로 빈 시간 없이 이어진다.시간 복잡도 목표: O(N log N)
▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.