[hackerrank] Weather Observation Station 5

yenpkr·2025년 4월 4일
0

sql

목록 보기
75/91

문제

길이가 가장 길고 짧은 city의 이름과 길이를 출력하시오.
가장 길거나 짧은 city가 한개 이상일 경우, 알파벳 순으로 가장 첫번째로 오는 city를 선택하시오.
🟡 쿼리를 두개 작성해도 된다.

제출

(select city,length(city)
from station
order by 2 asc, 1 asc
limit 1)
union
(select city,length(city)
from station
order by 2 desc, 1 asc
limit 1)

🚨 error

어려운 문제는 아닌데, 단일 쿼리로 작성하려다 보니 시간이 꽤 걸렸다.

with a as (
    select city,length(city) len
    from station
    order by 2 asc, 1 asc
)
select *
from a
where len in (select max(len) from a) or len in (select min(len) from a)

이런식으로 풀려고 했는데, 가장 짧은 길이의 city (3)가 3개 있어서 그 중 알파벳 순으로 가장 먼저 오는 city를 뽑는 것이 어려웠다.

가장 짧은 city 하나 뽑는 쿼리, 가장 긴 city 하나 뽑는 쿼리 두개를 union 해줬어야 한다.

🟡 밑의 Note를 제대로 읽고 이해하는 것이 필요했다.

0개의 댓글