fork download
  1. def insert_value(d, s):
  2. aux = {}
  3. place = 1
  4. rank = -1
  5. for key in d:
  6. if s > key:
  7. aux[s] = place
  8. rank = place
  9. place += 1
  10. else:
  11. aux[key] = place
  12. place += 1
  13. return rank, aux
  14.  
  15. def climbingLeaderboard(ranked, player):
  16. dict_1 = {}
  17. place = 1
  18. result = []
  19.  
  20. for score in ranked:
  21. if score not in dict_1:
  22. dict_1[score] = place
  23. place += 1
  24.  
  25. for score in player:
  26. if score in dict_1:
  27. result.append(dict_1[score])
  28. else:
  29. place_value, dict_1 = insert_value(dict_1, score)
  30. if place_value == -1:
  31. dict_1[score] = place
  32. result.append(place)
  33. place += 1
  34. else:
  35. result.append(place_value)
  36. return result
  37.  
  38.  
  39. result = climbingLeaderboard([100,100,50,40,40,20,10],[5,25,50,120])
  40. print(result)
Success #stdin #stdout 0.02s 9136KB
stdin
Standard input is empty
stdout
[6, 6, 2, 4]