[BOJ]108号:統計学
5409 ワード
質問する
2108号:統計学
1.算術平均:N個と/N
2.中央値:N個の昇順時の中央位置値
3.最も頻繁な値:出現回数が最も多い値
4.範囲:最低価格-最高価格
条件
入力
1. 1 <= N <= 500000
2.Nは奇数
3.整数絶対値<=4000
しゅつりょく
1.算術平均、小数点1位四捨五入round()
2.中央値
3.最小値、複数->次
4.範囲
from collections import Counter
import sys
n = int(sys.stdin.readline())
numbers = [int(sys.stdin.readline()) for _ in range(n)]
number_list = list(set(numbers))
# 산술평균
math_avg = round(sum(numbers) / n)
# 중앙값
mid_avg = sorted(numbers)[n//2]
# 최빈값
freq = Counter(numbers)
max_count = freq.most_common(1)[0][1]
freq_list = sorted(filter(lambda x: freq[x] == max_count, freq.keys()))
freq_avg = freq_list[1] if len(freq_list) > 1 else freq_list[0]
# 범위
range_avg = max(numbers) - min(numbers)
print(math_avg)
print(mid_avg)
print(freq_avg)
print(range_avg)
に注意
Sys入力は500000個より大きい.stdin.readline()で入力を受信する必要があります.
Reference
この問題について([BOJ]108号:統計学), 我々は、より多くの情報をここで見つけました https://velog.io/@ohdowon064/BOJ-2108번-통계학テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol