카테고리 없음

[해커랭크 HackerRank] Olivander's Inventory (Oracle)

잘될거야아마두 2021. 4. 17. 01:37

Ollivander's Inventory | HackerRank

 

Ollivander's Inventory | HackerRank

Help pick out Ron's new wand.

www.hackerrank.com

JOIN 문제이다.

 

해커랭크는 문제 설명이 항상 좀 부족한 것 같다...

문제에는 NON-EVIL인 지팡이를 사는 데 드는 가장 적은 코인 수를 찾되, POWER와 AGE가 큰 지팡이 순으로 정렬하라고 되어있다.

이해가 안 돼서 풀이를 찾아보니, CODE와 POWER로 GROUP을 만들어 각 GROUP의 최소 코인 수를 찾아야 하는 것이었다.

 

SELECT W.ID, P.AGE, A.COIN, W.POWER
  FROM WANDS W
     , WANDS_PROPERTY P
     , (SELECT CODE, MIN(COINS_NEEDED) AS COIN, POWER
        FROM WANDS
        GROUP BY CODE, POWER) A
WHERE W.CODE = A.CODE
  AND W.POWER = A.POWER
  AND W.COINS_NEEDED = A.COIN
  AND W.CODE = P.CODE
  AND P.IS_EVIL = 0
ORDER BY W.POWER DESC, P.AGE DESC
;