Updated:

PGS / 명예의 전당 (1)

풀면서

✅ 문제를 읽고 힙을 떠올리긴 했다.
그런데 코드 짜는 방법을 다 잊어버려서 우선 힙을 사용하지 않고 해결한 코드는 아래와 같다.

def solution(k, score):
    answer = []
    final = []
    
    for s in score:
        final.append(s)
        if len(final) <= k:
            answer.append(min(final))
        else:
            final_ = sorted(final, reverse = True)
            final_ = final_[:k]
            answer.append(final_[-1])
    
    return answer


✅ 빠르게 힙 복습을 좀 했다.

code ⌨️

힙을 사용한 최종 코드

import heapq

def solution(k, score):
    answer = []
    final = []
    heapq.heapify(final)
    
    for s in score:
        heapq.heappush(final, s)
        
        if len(final) > k:
            heapq.heappop(final)
        
        answer.append(final[0])
    
    return answer


풀고 나서👆👀

힙을 사용한 코드의 실행 시간이 훨씬 짧았다. 힙 잘 활용하자.

Leave a comment