HackerRank | Weather Observation Station 15

jeonghens·2025년 6월 7일
0

SQL: HackerRank

목록 보기
49/49

HackerRank Weather Observation Station 15


문제

STATION 테이블에서 LAT_N 값이 137.2345보다 작은 행들 중, 가장 큰 LAT_N 값을 갖는 행의 LONG_W 값을 구하는 문제이다.

결과는 소수점 아래 넷째 자리까지 반올림해야 한다.


풀이

먼저 서브 쿼리로 LAT_N < 137.2345을 만족하는 행들 중 가장 큰 LAT_N 값을 구한다.

SELECT MAX(LAT_N)
FROM STATION
WHERE LAT_N < 137.2345

다음으로 이 값과 LAT_N 값이 일치하는 행의 LONG_W 값을 조회하고, ROUND()로 LONG_W 값을 소수점 넷째 자리까지 반올림하면 된다.


-- 서브 쿼리

SELECT
    ROUND(LONG_W, 4)
FROM
    STATION
WHERE
    LAT_N = (
        SELECT MAX(LAT_N)
        FROM STATION
        WHERE LAT_N < 137.2345
    );

ORDER BY 절과 LIMIT 절을 사용하면 서브 쿼리 없이도 풀 수 있다.

-- ORDER BY 절 및 LIMIT 절

SELECT ROUND(LONG_W, 4)
FROM STATION
WHERE LAT_N < 137.2345
ORDER BY LAT_N DESC
LIMIT 1;
profile
알고리즘이나 SQL 문제 풀이를 올리고 있습니다. 피드백 환영합니다!

0개의 댓글