水面下の夢

競プロやイラストに興味があります.メインブログがここ.ソシャゲの話はこっち(http://ameblo.jp/0n0-yumechi/).ブログアイコンはYaQ(@8_9_00)さんから.

No.79 過小評価ダメ・ゼッタイ(2015/06/12)

回答

#31994 No.79 過小評価ダメ・ゼッタイ - yukicoder

入力された数字をDictionary(他言語で言うハッシュや連想配列)で数えておき,最高のvalueを持っているkeyを出力する問題ですね….
Dictionaryでは入力順序が考慮されないような気がしたので,maxkeyの更新は念のためmaxメソッドでしています….(問題の制約上,同じvalueならば大きい方のkeyを出力しなければならないため)

N = int(input())
arr = list(map(int, input().split()))
dic = {}
for a in arr:
    if a not in dic:
        dic.update({a:1})
    else:
        dic[a] += 1
maxkey = -1
maxval = -111
for k, v in dic.items():
    if v >= maxval:
        maxval = v
        maxkey = max(maxkey, k)
print(maxkey)