[오늘의 문제] Rank Scores

shlim55·2026년 1월 6일

코딩테스트

목록 보기
208/223

출처: https://leetcode.com/problems/rank-scores/description/

테이블:Scores

+-------------+---------+
| 열 이름 | 데이터 유형 |
+-------------+---------+
| id | int |
| score | decimal |
+-------------+---------+
id는 이 테이블의 기본 키(고유 값을 가진 열)입니다.
이 테이블의 각 행에는 게임 점수가 포함됩니다. score는 소수점 둘째 자리까지 표시되는 부동 소수점 값입니다.

점수 순위를 구하는 풀이를 작성하세요. 순위는 다음 규칙에 따라 계산해야 합니다.

점수는 높은 점수부터 낮은 점수 순으로 순위를 매겨야 합니다.
두 점수가 동점일 경우, 두 점수 모두 동일한 순위를 부여받아야 합니다.
동점일 경우, 다음 순위는 바로 다음 연속된 정수 값이어야 합니다. 즉, 순위 사이에 공백이 없어야 합니다.
결과 테이블을 score내림차순으로 정렬하여 반환합니다.

결과 형식은 다음 예시와 같습니다.

예시 1:

입력:
점수표:
+----+-------+
| id | 점수 |
+----+-------+
| 1 | 3.50 |
| 2 | 3.65 |
| 3 | 4.00 |
| 4 | 3.85 |
| 5 | 4.00 |
| 6 | 3.65 |
+----+-------+ 출력:
+-------+------+
| 점수 | 순위 |
+-------+------+
| 4.00 | 1 |
| 4.00 | 1 |
| 3.85 | 2 |
| 3.65 | 3 |
| 3.65 | 3 |
| 3.50 | 4 |
+-------+------+

내가 한 풀이

# Write your MySQL query statement below
SELECT score, DENSE_RANK() OVER (ORDER BY score DESC) AS `rank`
FROM Scores 

DENSE_RANK 활용하는 문제
그리고 내림차순도 ()안에 넣는다.

profile
A Normal Programmer

0개의 댓글