프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나는 문제 풀이의 핵심은 범위를 제한하는 것이라고 생각했다. 가장 많은 리뷰를 작성한 유저 를 핵심으로 보고 쿼리를 작성했다.
SELECT
mp.MEMBER_NAME,
rr.REVIEW_TEXT,
DATE_FORMAT(rr.REVIEW_DATE, '%Y-%m-%d') AS REVIEW_DATE
FROM
(
SELECT
MEMBER_ID
FROM
REST_REVIEW
GROUP BY
MEMBER_ID
ORDER BY
COUNT(*) DESC
LIMIT 1
) most_reviewed_member
JOIN
REST_REVIEW AS rr ON most_reviewed_member.MEMBER_ID = rr.MEMBER_ID
JOIN
MEMBER_PROFILE AS mp ON rr.MEMBER_ID = mp.MEMBER_ID
ORDER BY
rr.REVIEW_DATE ASC,
rr.REVIEW_TEXT ASC;
가장 많은 유저의 ID를 가져오고, JOIN을 통해 해당 유저가 작성한 리뷰와, 프로필을 가져왔다.
그런데 하나 또 주의해야할 부분이 있었다.
답이 왜 틀린가 했는데, 문제의 가장 하단부에 이런 제한조건이 있었다.... 그래서 해당 부분을 반영하고서 문제를 해결했다.
728x90
'개인공부 > 알고리즘' 카테고리의 다른 글
[ DP ] 백준 15988번 1, 2, 3 더하기 3, Kotlin (0) | 2024.03.14 |
---|---|
[ 그리디 ] 백준 1783 병든 나이트 (0) | 2024.03.07 |
프로그래머스 - 입양 시각 구하기(2) SQL (0) | 2023.08.06 |
프로그래머스 - 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2023.08.06 |
프로그래머스 - 직사각형 넓이 구하기 (Kotlin) (0) | 2023.08.01 |