何か辞書で行けないかな?
とりあえずサンプルを見てみる
辞書で各要素をカウント。
=> 最大値を取り出して
=> 辞書順に最大値に合うものを print する。
辞書を key / item で一回ずつソートすれば行けるんじゃね?
=> 最大値を取り出して ...item でソート
=> 辞書順に最大値に合うものを print する。...key を辞書順でソート
調べたらスグに出てきた、神。
早速かいてみる。
Poll.py
N = int(input())
dic = {}
for _ in range(N):#O(n)
s = input()
if s not in dic:
dic[s] = 0
dic[s] += 1
#item についてソート。
lis = sorted(dic.items(),key=lambda t:t[1])#O(nlogn)
ref = lis[-1][1]#最大値とりだし
#key を辞書順に並び替え
lis = sorted(dic.items(),key=lambda t:t[0])#O(nlogn)
print(lis)
for a,b in lis:#O(n)
if b == ref:
print(a)
計算量はトータル O(n) x 2set + O(nlogn) x 2set だから、
8*10^5 っと言ったところだろうか。
一応通った。