Algorithm/프로그래머스

[세무민의 코딩일기] 프로그래머스 : 우유와 요거트가 담긴 장바구니 문제 풀이

세기루민 2022. 1. 7. 20:00
728x90

오늘 포스팅 할 내용은 Summer/Winter Coding(2019) 문제에 나온 우유와 요거트가 담긴 장바구니

문제를 풀어봤습니다.


1. 문제 설명


2. 문제 및 예시 


3. 문제 풀이

이번 문제는 위의 내용처럼 우유와 요거트 2개를 모두 가지고 있는 CART_ID를 구하면 됩니다.

그렇기 때문에 조건식에 우유와 요거트가 각각 존재하는지 구분하여 검색해주면 됩니다. 

## 방법 1
SELECT DISTINCT CART_ID
FROM CART_PRODUCTS
WHERE NAME = 'Milk'
AND CART_ID IN (SELECT DISTINCT CART_ID
          FROM CART_PRODUCTS
          WHERE NAME = 'Yogurt')


## 방법 2
SELECT DISTINCT milk_tb.CART_ID FROM
(SELECT CART_ID
  FROM CART_PRODUCTS
  WHERE NAME = 'Milk') AS milk_tb
,(SELECT CART_ID
  FROM CART_PRODUCTS
  WHERE NAME = 'Yogurt') AS youg_tb
WHERE milk_tb.CART_ID = youg_tb.CART_ID

저는 2가지의 쿼리를 작성했는데 

첫번째 방법은 Where로 조건을 걸어서 먼저 우유 존재여부를 체크 한 뒤 CART_ID로 요거트가 존재하는지 검색하는

방법입니다. 

두번째 방법은 서브쿼리를 이용해서 우유 그리고 요거트가 존재하는 각각의 CART_ID에 대한 값이 같은 경우만 출력하는

방법입니다. 


4. 결과 

우선 위의 2개의 코드로 돌렸을 때 모두 정답이였습니다. 

 

[GitHub]

자세한 코드는 아래의 github에 업로드해놨습니다!

 

GitHub - sg-moomin/programmersStudy

Contribute to sg-moomin/programmersStudy development by creating an account on GitHub.

github.com


이번 포스팅에서도 프로그래머스에서 SQL 관련된 문제를 풀어봤습니다.

다음 포스팅도 더 유익한 정보로 찾아오겠습니다.

728x90