Menu
CoddyTech

Minimum Platforms

한 역의 하루 시간표가 주어집니다. 열차 i는 arrival[i]에 도착하고 departure[i]에 출발합니다. 시간은 콜론이 없는 시각을 나타내는 HHMM 숫자이므로, 930은 09:30입니다.

열차는 도착한 시각부터 출발한 시각까지 플랫폼을 점유하며, 도착 시각과 출발 시각 모두 포함됩니다. 따라서 다른 열차가 출발하는 시각에 도착하는 열차는 그 열차의 플랫폼을 사용할 수 없습니다.

열차가 기다릴 필요가 없도록 역에 필요한 최소 플랫폼 수를 반환하세요.

함수

minimumPlatforms(arrival: integer-array, departure: integer-array) → integer
arrivalinteger-array
각 열차의 도착 시간(HHMM 형식의 숫자)
departureinteger-array
각 열차의 출발 시간을 HHMM 숫자로 나타낸 값입니다. departure[i]는 arrival[i]에 해당합니다.
반환값integer
같은 분에 역에 있는 열차의 최대 수이며, 필요한 플랫폼의 최소 개수입니다

제약 조건

  • 1 ≤ arrival.length == departure.length ≤ 5000
  • 0 ≤ arrival[i] ≤ departure[i] ≤ 2359
  • 각 시간은 유효한 HHMM 시간입니다. 마지막 두 자리는 최대 59입니다.
  • 모든 기차는 같은 날 운행합니다. 배열은 정렬되어 있지 않습니다.

예제

입력
arrival = [900, 1500, 920, 1520, 1000, 1530]departure = [930, 1600, 1010, 1535, 1100, 1545]
출력
3
설명
15:30에 역에는 세 대의 열차가 있습니다. 15:00부터 16:00까지 운행하는 열차, 15:20부터 15:35까지 운행하는 열차, 15:30부터 15:45까지 운행하는 열차입니다. 어느 분에도 열차가 네 대씩 있지는 않으므로 3개의 승강장이면 충분합니다.
challenge icon

후속 질문

일부 야간 열차는 자정 전에 도착하고 자정이 지난 후에 출발하므로, 출발 시각의 숫자가 도착 시각보다 작습니다. 시간표가 자정을 넘기는 경우 플랫폼 수를 어떻게 셀 수 있을까요?

코드 초기화
def minimumPlatforms(arrival, departure):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자들

arrival = [900, 1500, 920, 1520, 1000, 1530]
departure = [930, 1600, 1010, 1535, 1100, 1545]

예상 출력

3