#11/20 Sorting: Comparator [Cracking the Coding Interview Challenges]

#11 Sorting: Comparator

www.hackerrank.com

solution

python3 での解答。

from functools import cmp_to_key

class Player:
    def __init__(self, name, score):
        self.name = name
        self.score = score

    def comparator(a, b):
        if a.score > b.score:
            return -1
        elif a.score < b.score:
            return 1
        elif a.score == b.score and a.name > b.name:
            return 1
        else:
            return -1

n = int(input())
data = []
for i in range(n):
    name, score = input().split()
    score = int(score)
    player = Player(name, score)
    data.append(player)

data = sorted(data, key=cmp_to_key(Player.comparator))
for i in data:
    print(i.name, i.score)

github.com