Kimuksung
Kimuksung 안녕하세요. 분산처리에 관심이 많은 생각하는 주니어 Data Enginner입니다.

leet code sql 1204

leet code sql 1204

1204. Last Person to Fit in the Bus

문제

  • turn 기준으로 버스에 탑승한 사람들의 무게를 측정
  • 1000kg가 넘어가면 버스에 탑승 불가
  • 마지막으로 탄 사람을 구하여라
문제 접근

  • 누적 집계 함수를 사용할 수 있는지 물어보는 문제
  • sum over를 활용하여 구성해주면 된다.
  • 마지막으로 탄 사람을 구하기 위해 order by limit을 사용
1
2
3
4
5
6
7
8
9
10
11
12
13
select 
    person_name
from
(
select
    turn,
    person_name,
    sum(weight) over (order by turn) as total
from Queue
) as t
where total <= 1000
order by total desc
limit 1