N個ある整数が半角スペース区切りで与えられます。
・1 行目に、整数 N が与えられます。
・2 行目に、N 個の整数が半角スペース区切りで与えられます。
・2行目の整数の中で、一番多く出現する整数を出力してください。
・一番多く出現する整数が が複数ある場合は昇順に全て出力して下さい。
入力例1
5
1 1 2 2 3
出力例1
1 2
入力例2
5
1 2 3 1 1
出力例2
1
私のコード)
コード N = int(input()) data = list(map(int,input().split())) #それぞれの整数と出現回数をリストに2重リストにまとめる lst = [] for x in data: row = [] count = data.count(x) row.append(x) row.append(count) lst.append(row) print(lst) #出力値 [[1, 2], [1, 2], [2, 2], [2, 2], [3, 1]] 出現回数の最大値を求める その条件にある整数を出力 繰り返し処理のため、一度出力した整数が何度も出てしまう。 k,v = zip(*lst) for x in range(N): if lst[x][1] == max(v): print(lst[x][0], end=' ') 出力値 1 1 2 2 期待値 1 2
#質問
出現回数の最大値の整数が
繰り返し処理のため、一度出力したものが何度も出てしまう。
どのように改善したらいいのか教えて頂きたいです。
回答6件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/20 06:03 編集
2018/04/20 06:05
2018/04/21 03:29