홍시홍의 프로그래밍

[백준 2108] 통계학 with 파이썬 본문

카테고리 없음

[백준 2108] 통계학 with 파이썬

홍시홍 2020. 9. 15. 00:31

요구사항

  1. 산술평균 : N개의 수들의 합을 N으로 나눈 값
  2. 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값
  3. 최빈값 : N개의 수들 중 가장 많이 나타나는 값
  4. 범위 : N개의 수들 중 최댓값과 최솟값의 차이

나타내기

참고

파이썬 특징

1. 나누기 실행하면 double형태로 반환한다

2. 몫을 원하는 나누기를 원하면 //를 사용한다

3. 최빈값은 Counter모듈을 이용하면 쉽게 구할 수 있다

 

풀이에 보면 중간에 Counter 모듈을 import한 것을 볼 수 있다

파이썬 대화형 형식으로 제일 처음 만들어졌다

그래서 중간에서 import하여 사용하는 것도 가능하다

 

most_commons은 dic형태로 반환한다

key : value 

 

* 파이썬의 연산 특징을 파악하고 있어야지 쉽게 풀 수 있다

풀이

import sys 

input=sys.stdin.readline()
n=int(input())
#입력 받은 후 정렬한다
arr = []
arr = [ int(input()) for i in range(n)]
arr.sort()

print(round(sum(arr)/len(arr)))
print(arr[len(arr)//2])

#Counter 모듈을 사용하여 최빈수를 구한다
#Counter를 사용하게 되면 dic 형태로 반환한다
from collections import Counter
k=Counter(arr).most_common()

if(len(arr)==1):
    print(arr[0])
else:
    if(k[0][1] ==k[1][1]):
        print(k[1][0])
    else:
        print(k[0][0])
print(max(arr)-min(arr))
Comments