새로운 블로그로 이전 작업을 진행하고 있어 포스트가 새로 작성되고 있지 않습니다.

빠른 시일 내에 새로운 블로그로 인사드리겠습니다.

새로운 블로그 : https://unho.vercel.app/

본문 바로가기
알고리즘 문제풀이/SQL

[프로그래머스] 헤비 유저가 소유한 장소

by 언호 2021. 12. 18.

문제


풀이 과정

1) 문제 이해 및 접근

해당 테이블에서 유저별로 몇개의 데이터를 가지고 있는지에 따라 출력이 필요하므로 그룹화를 이용하여 접근했습니다.

그룹화를 했을때, 여러 데이터를 모두 출력할 수 없기에 서브쿼리를 이용했습니다.

2) 풀이 코드

사용 언어 - Oracle

SELECT *                        -- 모든 열 출력
FROM PLACES                     -- 테이블
WHERE HOST_ID IN (              
    SELECT HOST_ID
    FROM PLACES
    GROUP BY HOST_ID
    HAVING COUNT(HOST_ID) >= 2
)                               -- HOST_ID가 서브쿼리 결과에 속해 있는것만 필터링
                                -- 서브쿼리 => HOST_ID 그룹화를 하여 해당 그룹이 2개 이상의 데이터가 있는것만 필터링
ORDER BY ID;                    -- ID 순서대로 정렬

결과 및 학습한 내용

1) 어려웠던 내용

서브쿼리가 복수개의 쿼리가 반환되어 WHERE 절에서 IN 을 사용해야하는것을 늦게 인지했습니다.


문제 링크

- https://programmers.co.kr/learn/courses/30/lessons/77487?language=oracle 

 

코딩테스트 연습 - 헤비 유저가 소유한 장소

PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를

programmers.co.kr

 

 

※ 오류 및 오타, 다른 의견이 있는 경우 댓글을 남겨주시면 감사하겠습니다

댓글