SQL
Ollivander's Inventory
sawo11
2025. 5. 6. 02:58
문제 풀이 링크: https://www.hackerrank.com/challenges/harry-potter-and-wands/problem?isFullScreen=true
Ollivander's Inventory | HackerRank
Help pick out Ron's new wand.
www.hackerrank.com
🧙🏻♀️ 문제 요약
- 각 (power, age) 조합에 대해 가장 적은 coins_needed인 wand만 고르기
- 비-사악한(wands_property.is_evil = 0) 것만 고려
- 최종적으로 출력할 열: id, age, coins_needed, power
- 정렬: power 내림차순, power가 같으면 age 내림차순
SELECT w.id,
wp.age,
w.coins_needed,
w.power
FROM wands w
JOIN wands_property wp
ON w.code = wp.code
JOIN (
SELECT w2.power,
wp2.age,
MIN(w2.coins_needed) min_coins
FROM wands w2
JOIN wands_property wp2
ON w2.code = wp2.code
WHERE wp2.is_evil = 0
GROUP BY w2.power, wp2.age
) mw
ON w.power = mw.power
AND wp.age = mw.age
AND w.coins_needed = mw.min_coins
ORDER BY w.power DESC,
wp.age DESC;