몸과 마음이 건전한 SW 개발자

[SQL-MAX] 프로그래머스 Lv. 1 잡은 물고기 중 가장 큰 물고기의 길이 구하기 [다시 풀어 보기] 본문

SQL/다시 풀어 보기

[SQL-MAX] 프로그래머스 Lv. 1 잡은 물고기 중 가장 큰 물고기의 길이 구하기 [다시 풀어 보기]

스위태니 2024. 12. 18. 14:27

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/298515

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

틀린 코드

SELECT MAX(LENGTH) AS MAX_LENGTH FROM FISH_INFO;

정답 코드

SELECT CONCAT(MAX(LENGTH), 'cm') AS MAX_LENGTH
FROM FISH_INFO;

풀이 과정

 

  1. MAX(LENGTH)
    • LENGTH 컬럼에서 가장 큰 값을 계산한다.
    • WHERE LENGTH IS NOT NULL 조건을 추가하여 NULL 값(길이가 10cm 이하인 경우)을 제외한다.
  2. CONCAT(MAX(LENGTH), 'cm')
    • 가장 큰 길이 값에 문자열 'cm'를 붙인다.
  3. AS MAX_LENGTH
    • 결과 컬럼명을 MAX_LENGTH로 지정다.

 

 

느낀점

  • 결과값 50을 concat을 사용해서 50.00cm로 만드는 것을 배웠다.
  • 하지만 소수점 셋 째 자리까지와 같은 문제가 나온다면 풀기 어려울 것이다.
SELECT CONCAT(FORMAT(MAX(LENGTH), 3), 'cm') AS MAX_LENGTH
FROM FISH_INFO;
SELECT CONCAT(ROUND(MAX(LENGTH), 3), 'cm') AS MAX_LENGTH
FROM FISH_INFO;
  • 그리고 하나 배운 것이 50.00을 그대로 출력하면 50으로 나온다.