CarFleet
Published at 2022-06-19
class Solution:
def carFleet(self, target: int, position: List[int], speed: List[int]) -> int:
cars = []
cnt = len(position)
for p, s in zip(position, speed):
cars.append([p,s])
cars.sort(key=lambda x:x[0], reverse=True) # 도착지에 가까운 순서대로
prev = 0
for car in cars:
time = (target-car[0])/car[1] # 도착지까지 걸리는 시간
# print(time, prev)
if prev >= time: # 현재 차가 앞차보다 빨리 도착하면 연결가능
cnt -= 1
else:
minSpeed = time
prev = time # 앞차에 연결 실패했으면 값 갱신. 연결성공하면 앞 스피드가 더 느린거니까 갱신필요없음
return cnt