문제
풀이
- 최대 힙을 이용하기 위해 score를 전부 음수로 바꾼 tmp를 만들어 준 후, heapify 함수를 통해 tmp를 힙으로 만듦.
- tmp가 빌 때 까지 heappop을 해주면서 등수에 맞게 score 값을 변경해 줌.
코드
import heapq
class Solution:
def findRelativeRanks(self, score: List[int]) -> List[str]:
tmp = list(map(lambda x : -x, score))
heapq.heapify(tmp)
count = 0
while len(tmp) != 0 :
res = -(heapq.heappop(tmp))
if count == 0 :
score[score.index(res)] = 'Gold Medal'
elif count == 1 :
score[score.index(res)] = 'Silver Medal'
elif count == 2 :
score[score.index(res)] = 'Bronze Medal'
else :
score[score.index(res)] = str(count+1)
count += 1
return score