본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬]2108번 통계학

by 현장 2021. 4. 26.

-코드

from sys import stdin
from collections import Counter
t = int(input())
arr = []
for i in range(t):
    arr.append(int(stdin.readline()))
arr.sort()
arr2 = arr
print(round(sum(arr)/t))
print(arr[t//2])
con = Counter(arr).most_common()
if t == 1:
    print(arr[0])
else:
    if con[0][1] == con[1][1]:
        print(con[1][0])
    else:
        print(con[0][0])
print(arr[-1] - arr[0])

만들다 보니 최빈값을 계산하려고 count로 해봤으나 시간 초과가 생겼습니다. 그래서 찾아보니 Counter함수를 알게 되어 이 함수를 통해 최빈값을 출력하려 했으나 단일 함수로는 {1:0}과 같은 식으로 나와 con [0][0]을 입력하면 오류가 생겨서 다시 찾아보니 most_common이라는 함수를 입력을 해주면 리스트에 요소를 뽑아 쓸 수 있어서 해결을 하였습니다.