input
7
100 100 50 40 40 20 10
4
5 25 50 120
output
6
4
2
1
문제요약
아이디어
dense_rank로 같은 점수는 동일한 랭킹을 부여받고 그 다음은 +1 순위로 매겨진다.
기존에 동일한 점수가 어러 번 제출되었을 수 있기 때문에 set 후 내림차순으로 정렬한다.
게이머의 점수를 하나씩 더하면서 등수를 매겨주고 리스트에 append한다.
이렇게 풀어야지...
def climbingLeaderboard(ranked, player):
# Write your code here
scores = sorted(list(set(ranked)), reverse=True)
player_ranks = []
for p_score in player:
while scores and p_score >= scores[-1]:
scores.pop()
player_ranks.append(len(scores) + 1)
return player_ranks