ABC128_b(Guidebook)
問題
考えたこと
- 配列を他要素でソートすることができるか
- python の 場合、以下のコードで可能
実装
sorted_list = sorted(res, key=lambda x: (x[0], x[1]))
詰まったところ
- ソートの1要素目、2要素目でソート順序が逆になる(昇順と降順が混ざる)
解法
- 逆順にしたい要素をマイナスにしてしまえば良い
- マイナスにすることによって昇順、降順が逆になる
- 例 30, 50 -> -50, -30 になる
最終的な実装
n = int(input()) res = [] for i in range(1, n+1): s, p = [x for x in input().split()] res.append((s, int(p)*-1, i)) ans = sorted(res, key=lambda x: (x[0], x[1])) for i in ans: print(i[2])