문제 출처 : https://www.acmicpc.net/problem/2108
import sys
n = int(sys.stdin.readline())
num=[]
for i in range(n) :
num.append(int(sys.stdin.readline()))
print(round(sum(num)/n)) # 산술평균
cnt1 = n//2
print(sorted(num)[cnt1]) # 중앙값
from collections import Counter
num.sort()
num_s = Counter(num).most_common()
if len(num_s) > 1 :
if num_s[0][1] == num_s[1][1] :
print(num_s[1][0])
else :
print(num_s[0][0])
else :
print(num_s[0][0])
print(max(num)-min(num)) # 범위
👉🏻 파이썬 내장함수 Counter을 이용해서 Counter(num).most_common 함수를 사용하면 이차원 배열 형식으로 (숫자, 빈출 횟수)로 출력이 된다. 이것도 모르고 하나하나 구현하는데 제약사항이 많아서 머리가 아팠다.
확실히 코딩테스트는 많이 풀어보고 푸는 요령을 익히는 것 같다.