https://www.acmicpc.net/problem/2108
import sys
from collections import Counter
if __name__ == "__main__":
num = int(sys.stdin.readline())
n = []
for _ in range(num):
n.append(int(sys.stdin.readline()))
n.sort()
cnt = Counter(n).most_common(2)
print(round(sum(n)/len(n)))
print(n[num//2])
if len(n) > 1:
if cnt[0][1] == cnt[1][1]:
print(cnt[1][0])
else:
print(cnt[0][0])
else:
print(cnt[0][0])
print(max(n) - min(n))
산술평균, 중앙값, 범위는 구하기 쉬웠습니다.
counter.most_common(2)을 이용하여 최빈값 2개를 반환합니다.
만약, 개수가 같다면 뒤의 값을 출력하고 (두번째로 작은 값을 출력하라고 했으므로) 개수가 다르다면 앞의 값을 출력합니다. (앞의 값이 개수가 더 많으므로)