def insert_value(d, s):
aux = {}
place = 1
rank = -1
for key in d:
if s > key:
aux[s] = place
rank = place
place += 1
else:
aux[key] = place
place += 1
return rank, aux
def climbingLeaderboard(ranked, player):
dict_1 = {}
place = 1
result = []
for score in ranked:
if score not in dict_1:
dict_1[score] = place
place += 1
for score in player:
if score in dict_1:
result.append(dict_1[score])
else:
place_value, dict_1 = insert_value(dict_1, score)
if place_value == -1:
dict_1[score] = place
result.append(place)
place += 1
else:
result.append(place_value)
return result
result = climbingLeaderboard([100,100,50,40,40,20,10],[5,25,50,120])
print(result)
ZGVmIGluc2VydF92YWx1ZShkLCBzKToKICAgIGF1eCA9IHt9CiAgICBwbGFjZSA9IDEKICAgIHJhbmsgPSAtMQogICAgZm9yIGtleSBpbiBkOgogICAgICAgIGlmIHMgPiBrZXk6CiAgICAgICAgICAgIGF1eFtzXSA9IHBsYWNlCiAgICAgICAgICAgIHJhbmsgPSBwbGFjZQogICAgICAgICAgICBwbGFjZSArPSAxCiAgICAgICAgZWxzZToKICAgICAgICAgICAgYXV4W2tleV0gPSBwbGFjZQogICAgICAgICAgICBwbGFjZSArPSAxCiAgICByZXR1cm4gcmFuaywgYXV4CgpkZWYgY2xpbWJpbmdMZWFkZXJib2FyZChyYW5rZWQsIHBsYXllcik6CiAgICBkaWN0XzEgPSB7fQogICAgcGxhY2UgPSAxCiAgICByZXN1bHQgPSBbXQoKICAgIGZvciBzY29yZSBpbiByYW5rZWQ6CiAgICAgICAgaWYgc2NvcmUgbm90IGluIGRpY3RfMToKICAgICAgICAgICAgZGljdF8xW3Njb3JlXSA9IHBsYWNlCiAgICAgICAgICAgIHBsYWNlICs9IDEgICAgICAgIAoKICAgIGZvciBzY29yZSBpbiBwbGF5ZXI6CiAgICAgICAgaWYgc2NvcmUgaW4gZGljdF8xOgogICAgICAgICAgICByZXN1bHQuYXBwZW5kKGRpY3RfMVtzY29yZV0pCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcGxhY2VfdmFsdWUsIGRpY3RfMSA9IGluc2VydF92YWx1ZShkaWN0XzEsIHNjb3JlKQogICAgICAgICAgICBpZiBwbGFjZV92YWx1ZSA9PSAtMToKICAgICAgICAgICAgICAgIGRpY3RfMVtzY29yZV0gPSBwbGFjZQogICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChwbGFjZSkKICAgICAgICAgICAgICAgIHBsYWNlICs9IDEKICAgICAgICAgICAgZWxzZTogICAKICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQocGxhY2VfdmFsdWUpCiAgICByZXR1cm4gcmVzdWx0CgoKcmVzdWx0ID0gY2xpbWJpbmdMZWFkZXJib2FyZChbMTAwLDEwMCw1MCw0MCw0MCwyMCwxMF0sWzUsMjUsNTAsMTIwXSkKcHJpbnQocmVzdWx0KQ==