해커랭크 문제풀이

해커랭크 Wands 문제

swhwang0610 2025. 9. 2. 16:35

 

제출 코드

========================================================

SELECT W.ID, T.AGE, T.COST, W.POWER
FROM (SELECT P.AGE, MIN(coins_needed) AS COST, W.POWER, W.code
     FROM WANDS W 
     JOIN Wands_Property P ON W.code = P.code 
     WHERE P.is_evil = 0 
     GROUP BY P.AGE, W.POWER, W.code) AS T
JOIN WANDS W ON T.code = W.code
            AND T.POWER = W.POWER
            AND W.coins_needed = T.COST
ORDER BY W.POWER DESC, T.AGE DESC

========================================================

 

처음엔 ID를 제외한 나머지를 출력하는 코드를 작성하고 ID를 붙이는 시도를 했었는데,  복잡해지고 코드도 길어졌다.
그래서 방향을 'FROM절에 적절한 테이블을 서브쿼리를 통해 구성하고' -> '하나의 기초 쿼리처럼 작성'하는 방식으로 가닥을 잡았더니 쉽게 해소되었다.

전체적으로 보면 답을 제출하는데 4시간 이상 소요되었다.  방향성 확립 후 실질적으로 정답 쿼리를 떠올리고 작성하는데는 10분..?

'해커랭크 문제풀이' 카테고리의 다른 글

해커랭크 Challenges 문제  (0) 2025.09.03