Menu
CoddyTech

Car Fleet

보통스택정렬python iconjava iconcpp iconc iconjs icon+10

자동차들이 단일 차선 도로를 따라 마일 target을 향해 달립니다. 자동차 i는 마일 position[i]에서 출발하며 시속 speed[i]마일로 달립니다. 어떤 자동차도 다른 자동차를 추월할 수 없습니다. 느린 자동차를 따라잡은 자동차는 그 바로 뒤에 머물고, 그때부터 두 자동차는 더 느린 속도로 하나의 차량 대열처럼 함께 움직입니다.

함수

carFleet(target: integer, position: integer-array, speed: integer-array) → integer
targetinteger
모든 자동차가 향하고 있는 마일
positioninteger-array
각 자동차의 시작 마일
speedinteger-array
각 자동차의 속도(시간당 마일)
반환값integer
목적지에 도달하는 함대의 수

제약 조건

  • n == position.length == speed.length
  • 1 ≤ n ≤ 104
  • 1 ≤ target ≤ 106
  • 0 ≤ position[i] < target
  • 1 ≤ speed[i] ≤ 106
  • 모든 위치가 다릅니다.

예제

입력
target = 20position = [14, 2, 8, 17, 0]speed = [3, 6, 4, 1, 2]
출력
2
설명
단독으로 이동할 경우 17, 14, 8, 2마일 지점의 자동차는 각각 3, 2, 3, 3시간이 필요하므로, 14마일 지점의 자동차가 17마일 지점의 자동차를 따라잡고 나머지 두 대는 20마일 지점에서 이들을 따라잡습니다. 0마일 지점의 자동차는 10시간이 필요하며 혼자 도착합니다.
challenge icon

후속 질문

위치는 target보다 작은 정수입니다. 비교 정렬 없이 O(n + target) 시간에 차량 대수를 셀 수 있나요?

코드 초기화
def carFleet(target, position, speed):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자들

target = 20
position = [14, 2, 8, 17, 0]
speed = [3, 6, 4, 1, 2]

예상 출력

2