Leetcode PostgreSQL Last Person to Fit in the Bus
업데이트:
문제
코드
-- Write your PostgreSQL query statement below
SELECT person_name
FROM (
SELECT person_name, weight, turn, SUM(weight) OVER (ORDER BY turn) AS sum
FROM Queue
) AS Queue
WHERE sum <= 1000
ORDER BY turn DESC
LIMIT 1
결과
설명
-
Queue 테이블의 사람들이 turn 순서대로 버스를 탑승할 때, weight의 합산이 1000kg 초과하지 않고 탑승할 수 있는 마지막 person_name을 탐색하는 문제이다.
-
서브 쿼리로 weight의 합계를 turn 순서대로 수행한다.
-
turn 순서대로 내림차순 정렬하여 sum이 1000 이하인 마지막 탑승한 한 사람을 탐색한다.
댓글남기기