하루에 1문제씩 풀기.
한 문제당 30분씩은 고민하기.
왜 그렇게 풀었는지 공유하기.
하루라도 놓친다면 벌금은 1,000원
백준 플래티넘, 프로그래머스 4단계, 개발자 탈퇴 시 모임 탈퇴 가능
[3코1파] 2023.01.04~ (178차)
[4코1파] 2023.01.13~ (170일차)
[1스4코1파] 2023.04.12~ (81일차)
[1스4코2파] 2023.05.03 ~ (59일차)
2023.06.30 [178일차]
LeetCode Patterns
https://leetcode.com/problems/car-fleet/description/
https://leetcode.com/problems/car-fleet/description/
문제 설명

문제 풀이 방법
진짜 이거 뭔말임..
일단 일직선 상에 차가 있는데 각 차의 position 이랑 speed가 있고, 그리고 도착해야하는 target(destination)이 주어지는데.
각 차들은 target 에서 position을 빼고 speed 로 나눠주면, target 까지 얼마나 걸리는지 계산할 수 있다.
destination에서 가장 먼 차부터, 몇 번 이동해야 destination으로 도착할 수 있는지 stack에 쌓고, 도착지로 부터 멀리 떨어져 있는 차가 앞선 차보다 더 적은 횟수로 도착하면 추월한 것이므로 stack에 안쌓음..
일단 이렇게 이해했는데 몬말이여,,
내 코드
class Solution:
def carFleet(self, target: int, position: List[int], speed: List[int]) -> int:
pair = [[p,s] for p, s in zip(position, speed)]
stack = []
for p,s in sorted(pair)[::-1]:
stack.append((target-p) / s)
if len(stack)>=2 and stack[-1] <= stack[-2]:
stack.pop()
return len(stack)
증빙
여담
뭐야 이거 무슨말이야
몰라서 이것 저것 봄
https://www.codingninjas.com/studio/library/car-fleet