Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 백준 17471
- 백준 17822
- 원판 돌리기
- qorwns
- 백준 2447
- 별 찍기 10
- 백준
- C/C++ 구현
- 백준 1158
- 구현
- 버킷 정렬
- 시간 복잡도
- 백준 1406
- ㅣ풀이
- 조세퍼스 순열
- AVL 시간 복잡도
- dfs
- 5397
- c#
- 스택의 특징
- 게리멘더링2
- 해시 구현
- 백준 17779
- 풀이
- 1764
- 백준 5397
- 해시구현
- heap
- Stack 이란
- 자료구조
Archives
- Today
- Total
홍시홍의 프로그래밍
[백준 2108] 통계학 with 파이썬 본문
요구사항
- 산술평균 : N개의 수들의 합을 N으로 나눈 값
- 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값
- 최빈값 : N개의 수들 중 가장 많이 나타나는 값
- 범위 : 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