-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path506.py
26 lines (25 loc) · 810 Bytes
/
506.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Solution(object):
class Athlete:
def __init__(self, score, pos):
self.score = score
self.pos = pos
def findRelativeRanks(self, nums):
"""
:type nums: List[int]
:rtype: List[str]
"""
n, athletes = len(nums), []
for i in range(n):
athletes.append(self.Athlete(nums[i], i))
athletes = sorted(athletes, key=lambda a: a.score, reverse=True)
ret = ["" for _ in range(n)]
medal = ["Gold Medal", "Silver Medal", "Bronze Medal"]
i, j = 0, 0
for i in range(n):
if j <= 2:
ret[athletes[i].pos] = medal[j]
j += 1
else:
ret[athletes[i].pos] = str(i + 1)
i += 1
return ret