♟️ 알고리즘/Leetcode

Leetcode[MySQL][Leet Code] 619. Biggest Single Number

Jerry_K 2025. 3. 5. 16:56

https://leetcode.com/problems/biggest-single-number/description/?envType=study-plan-v2&envId=top-sql-50


🗒️SQL 코드 풀이 

SELECT MAX(A.num) AS num 
    FROM 
        (
        SELECT *
            FROM MyNumbers 
            GROUP BY num
            HAVING COUNT(num) = 1
        ) A

 

1. 간단하게 풀이 가능한 문제이다.

 

2. GROUP BY 와 HAVING으로 중복되는 숫자를 제거한 서브쿼리를 만든다.

 

3. 해당 서브쿼리를 가져와 MAX 값을 추출한다.

 

 

문제 한번 더 돌아보기

SELECT *
    FROM MyNumbers 
    GROUP BY num
    HAVING COUNT(num) = 1
| num |
| --- |
| 1   |
| 4   |
| 5   |
| 6   |
  1. 바로 위의 쿼리를 작성하면, 다음과 같은 결과가 나온다.
  2. 이전 포스팅하고 비슷한 문제인데, SELECT 부분에 MAX(num)을 하는 경우를 생각해보자.
    1. 해당 쿼리에서 MAX(num)을 하면 GROUP BY 된 그룹들끼리에서 MAX 값을 구함
    2. 이런 문제는 단순하게 해당 쿼리를 서브 쿼리로 쓰면 됨

 

📌 문제 코멘트 

해당 문제는 간단하지만, 포스팅하는 이유는 다음과 같다.

  • GROUP BY에 MAX 할 때 그룹끼리만 될 때, 서브쿼리로 문제 해결|

 


📚문제