[백준/파이썬] 2108번 통계학 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 2108번 통계학
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
정수 집합의 산술평균, 중앙값, 최빈값, 범위를 구하는 문제입니다.
코드
import sys
nums = [int(input()) for _ in range(int(sys.stdin.readline()))]
nums.sort()
d = [0]*8001
for n in nums:
d[n+4000] += 1
tmp = max(d)
most = 4001
for i in range(-4000, 4001):
if d[i+4000]==tmp:
if most > i:
most = i
else:
most = i
break
ln = len(nums)
print(round(sum(nums)/ln))
print(nums[ln//2])
print(most)
print(abs(max(nums)-min(nums)))
설명
정렬과 빈도 배열을 사용해 각 통계값을 계산합니다.
최빈값은 빈도가 같은 값이 여러 개면 두 번째로 작은 값을 출력하는 규칙을 코드에서 처리합니다.
댓글남기기