728x90
https://www.acmicpc.net/problem/2108
from collections import Counter
n = int(input())
nums = []
for _ in range(n):
nums.append(int(input()))
nums.sort()
# 산술평균
print(round(sum(nums) / n)) #1
# 중앙값
print(nums[n//2]) #2
# 최빈값
nums_s = Counter(nums).most_common() #3
if len(nums_s) > 1: #4
if nums_s[0][1] == nums_s[1][1]: #5
print(nums_s[1][0])
else:
print(nums_s[0][0]) #6
else: #7
print(nums_s[0][0])
# 범위
print(abs(max(nums)-min(nums))) #8
#1 : round함수는 실수형을 반올림 해준다. ( -0.33333 => 0) 그래서 정수 나눗셈이 아닌 실수 나눗셈으로 값을 나눈다.
#2 : 항상 홀수개로 받는다고 했으니 정렬된 리스트의 중앙값은 n의 정수 나눗셈이다.
#3 : Counter모듈의 most_common()함수를 이용해서 가장 자주 나오는 값부터 hash형으로 정렬해준다.
#4 : 값이 하나 이상일때
#5 : 최빈값이 여러개라면 두번째의 value를 출력한다.
#6 : 최빈값이 1개라면 1개의 value 출력
#7 : hash의 값이 1개라면 value 출력
#8 : 범위 출력
728x90
'[Coding Test] > [백준]' 카테고리의 다른 글
[백준] 10989 파이썬(python) : 수 정렬하기 3 - (★) (0) | 2022.07.05 |
---|---|
[백준] 2805 파이썬(python) : 나무 자르기 - (★) (0) | 2022.07.05 |
[백준] 1966 파이썬(python) : 프린터 큐 (0) | 2022.07.05 |
[백준] 1929 파이썬(python) : 소수 구하기 - (에라토스테네스의 체) (0) | 2022.07.05 |
[백준] 1654 파이썬(python) : 랜선 자르기 - (★) (0) | 2022.07.05 |