[Leetcode] Last Person to Fit in the Bus
정답
SELECT
person_name
FROM (
SELECT
turn, person_id, person_name, weight,
SUM(weight) OVER (ORDER BY turn) as total_weight
FROM Queue
ORDER BY turn
) Queue_with_total_weight
WHERE total_weight <= 1000
ORDER BY total_weight DESC
LIMIT 1;
✅ Point
- SUM OVER 을 통한 누적합 계산
SUM(weight) OVER (ORDER BY turn) as total_weight
- 누적합을 계산한 table을 subquery
- 누적합 최대 조건을 만족하는 마지막 행만 뽑아내기