[2024] day 50. Leetcode 2402. Meeting Rooms III

gunny·2024년 2월 19일
0

코딩테스트

목록 보기
363/530

2024년부터 새롭게 다시 시작하는 코딩테스트

2024년 2월 18일 (일)
Leetcode daily problem

https://leetcode.com/problems/meeting-rooms-iii/description/

Problem

정수 n이 주어질 때, 각 방들은 0부터 n-1까지 번호가 매겨진다.
이때 2차원의 Meetings 배열이 제공되는데 해당 배열은

Meetings[i] = [starti, endi] 동안 회의실이 열려 있음을 의미한다. 모든 Mettings배열의 starti의 모든 값은 고유하다.

회의는 다음과 같은 방식으로 회의실에 할당되는 된다.
(1) 각 회의는 가장 낮은 번호의 사용하지 않는 방에서 진행된다.
(2) 사용 가능한 회의실이 없으면 회의실이 확보될 때까지 회의가 연기된다. 지연된 회의의 지속 시간은 원래 회의와 동일해야 한다.
(3) 회의실을 사용하지 않게 되면 원래 시작 시간이 더 빠른 회의에 회의실을 할당해야 한다.

위의 조건에 따라서 가장 많은 회의가 진행된 방의 번호를 반환한다. 객실이 여러 개인 경우 가장 낮은 번호의 객실을 반환한다.

반 닫힌 구간 [a, b)는 a를 포함하고 b를 포함하지 않는 a와 b 사이의 구간이다.

case1을 예시로 들자면

Input: n = 2, meetings = [[0,10],[1,5],[2,7],[3,4]]
Output: 0

  • 0시에는 0호실에서 시작됨
  • 1시에는 1호실에서 시작됨
  • 2시에는 두 방을 모두 사용하고 있음. 세 번째 회의는 연기됨.
  • 3시에는 두 방을 모두 사용하고 있음. 네 번째 회의는 연기됨.
  • 5시에는 1번방의 회의가 종료됨. 연기된 세 번째 회의가 1번 방에서 시작됨 => [5,10)
  • 10시가 되면 두 방의 회의가 모두 종료됨. 네 번째 회의는 0번 방에서 시작됨 => [10,11)

=> 방 0과 1 모두 2번의 회의를 열었으므로 0을 반환함

Solution

array

Code


        

Complexicity

시간 복잡도

공간 복잡도


profile
꿈꾸는 것도 개발처럼 깊게

0개의 댓글