HackerRank | Weather Observation Station 5

jeonghens·2025년 5월 30일
0

SQL: HackerRank

목록 보기
25/49

HackerRank Weather Observation Station 5


문제

STATION 테이블에서 가장 짧은 CITY 값과 가장 긴 CITY 값을 가진 두 도시와 각각의 길이(문자 수)를 구하는 문제이다.

가장 짧거나 긴 도시가 두 개 이상 있는 경우, 알파벳 기준으로 먼저 나오는 도시를 하나만 선택해야 한다.


풀이

가장 짧으면서 알파벳 기준으로 먼저 나오는 도시, 가장 길면서 알파벳 기준으로 먼저 나오는 도시를 각각 구한 뒤, UNION 연산을 통해 두 결과를 합쳤다.

길이와 알파벳 기준 정렬은 ORDER BY 절에서 LENGTH(CITY) ASC/DESC, CITY ASC를 활용하면 되고, 이후 LIMIT 키워드로 하나의 행만 선택하면 된다.

추가로 UNION 연산은 각 SELECT의 컬럼 수와 데이터 타입이 동일해야 정상적으로 동작한다.


(
    SELECT CITY, LENGTH(CITY) AS LEN
    FROM STATION
    ORDER BY LENGTH(CITY) ASC, CITY ASC
    LIMIT 1
)
UNION
(
    SELECT CITY, LENGTH(CITY) AS LEN
    FROM STATION
    ORDER BY LENGTH(CITY) DESC, CITY ASC
    LIMIT 1
);
profile
알고리즘이나 SQL 문제 풀이를 올리고 있습니다. 피드백 환영합니다!

0개의 댓글