AtCoder ABC 201 B – Do you know the second highest mountain? Python解説

スポンサーリンク

Do you know the second highest mountain?

AtCoder国には N 個の山があり、i 個目の山の名前は Si, 高さは Tiです。
2 番目に高い山の名前を答えてください。N 個の山の名前、高さはそれぞれ相異なることが保証されます。

AtCoder Beginner Contest 「Do you know the second highest mountain?」

山の名前と高さが与えられるので、山の高さでソートをして、2番目に高い山の名前を答えます。ソートの優先度を山の高さを山の名前より高くするために、2次元配列を作るときは、[山の高さ, 山の名前]となるように配列に追加していきます。

n = int(input())

a = []

for i in range(n):
    s, t = input().split()
    t = int(t)
    a.append([t, s])
    
a = sorted(a, reverse=True)

print(a[1][1])

配列aを用意し、山の高さと山の名前を受け取ったら、ソートをしていきます。今回の問題では2番目に高い山ということで、sorted(a, reverse=True)と降順になるようにソートしています。
2番目に高い山の名前は配列a[1][1]に入っているので、これを出力して完了です。

AtCoderB問題

Posted by cheese