FeelingXD

[프로그래머스 - 284531] 노선별 역 사이 거리 조회하기 🐢 본문

프로그래밍/문제풀이

[프로그래머스 - 284531] 노선별 역 사이 거리 조회하기 🐢

FeelingXD 2024. 3. 13. 15:49

❓ Problem

🤔 How

SQL 문제를 풀때마다 알고리즘 풀이문제보다 나름 신경써야할것이많다.

🚧 ORDER BY 정렬시 고려할것

  • TOTAL_DISTANCE는 CONCAT으로 문제에서요구하는 거리의 단위인 km 문자열이 붙어서 결국 문자열 형태가 되었다 이를 이용해서 정렬할 경우 숫자가 아닌 문자열 기준으로 정렬된다.

🚧 ROUND 어디서 반올림할것인가?

  • 문제에서 총 누계거리는 2번째 자리에서 평균 역 사이 거리는 3번째 자리에서 반올림 한는것이 문제의 설명이다. 그럼 ROUND 함수의 두번째인자에는 무엇이 들어가야할까 ?

  • ROUND 의 두번째 인자는 소숫점 몇째짜리 까지 표시할 것인지에대한 매개변수이다. 즉 문제에서 요구한 두 번째 자리에서 반올림 하시오 -> 소숫점 첫째 자리까지 남기시오 가된다.

❗ Solve

-- 노선별 역 사이 거리 조회하기
SELECT ROUTE
        ,CONCAT(ROUND(SUM(D_BETWEEN_DIST),1),"km") AS TOTAL_DISTANCE -- 총 누계거리
        ,CONCAT(ROUND(AVG(D_BETWEEN_DIST),2),"km" ) AS AVERAGE_DISTANCE -- 평균 역 사이 거리
FROM SUBWAY_DISTANCE 
GROUP BY ROUTE 
ORDER BY ROUND(SUM(D_BETWEEN_DIST),1) DESC