728x90
소스코드
import sys
from collections import Counter
n = int(sys.stdin.readline())
lst = []
for i in range(n) :
num = int(sys.stdin.readline())
lst.append(num)
lst.sort()
print(round(sum(lst)/n))
middleIndex = n // 2
print(lst[middleIndex])
chlqls = Counter(lst).most_common()
if len(chlqls) > 1 :
if chlqls[0][1] == chlqls[1][1] :
print(chlqls[1][0])
else :
print(chlqls[0][0])
else :
print(chlqls[0][0])
print(max(lst) - min(lst))
풀이
최빈값을 구하는 것이 핵심인 문제 같았습니다.
파이썬의 라이브러리인 Counter 를 사용해서 풀었습니다.
Counter 라이브러리는 (해당값,출현한횟수) 로 리스트를 새로 만들어줍니다.
문제
https://www.acmicpc.net/problem/2108
2108번: 통계학
첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다.
www.acmicpc.net
728x90
'BOJ > 정렬' 카테고리의 다른 글
BOJ : 1931 회의실 배정 (JS , nodeJS) (0) | 2023.01.20 |
---|---|
BOJ : 11870 좌표압축 (파이썬) (0) | 2022.12.02 |
BOJ : 1461 도서관 (파이썬) (0) | 2022.11.20 |
BOJ : 1927 최소힙 (파이썬) (1) | 2022.09.11 |
BOJ : 20291 파일정리 (파이썬) (2) | 2022.09.10 |