Leetcode SQL50 (180)

Pocketopi·2025년 4월 16일

[MYSQL] Leetcode

목록 보기
9/34

🔔 문제

LeetCode - Consecutive Numbers
➔ LOGS 테이블에서 같은 숫자가 연속으로 3번 이상 등장하는 숫자(NUM)를 찾아라.

🎯 풀이방법

🔑 핵심

ID는 로그의 순서를 나타내므로,
ID가 연속된 3개를 SELF JOIN해서 비교하면 된다.
연속된 세 개의 NUM이 모두 같은 경우만 필터링

💻 전체 코드

SELECT DISTINCT ONE.NUM AS CONSECUTIVENUMS
FROM LOGS ONE JOIN LOGS TWO JOIN LOGS THREE
ON ONE.ID + 1 = TWO.ID AND ONE.ID + 2 = THREE.ID
WHERE ONE.NUM = TWO.NUM AND TWO.NUM = THREE.NUM

💡 핵심 문법 및 배운 점

  • SELF JOIN: 3개의 테이블을 셀프 조인(연속된 세 ID를 한 행으로)
  • DISTINCT: 중복 제거
profile
통계학/컴퓨터공학 전공 4학년 학생 DA뿌수기 일기장

0개의 댓글