from operator import itemgetter
from collections import Counter
import sys
class Q_2108():
def __init__(self):
self._numCnt = 0
self._numList = list()
self._totalSum = 0
def numSetting(self):
self._numCnt = int(sys.stdin.readline())
for _ in range(self._numCnt):
e = int(sys.stdin.readline())
self._totalSum += e
self._numList.append(e)
# 데이터 정렬
self._numList.sort()
def arithMean(self):
avr = round((float(self._totalSum)/len(self._numList)))
print(avr)
def middleNumber(self):
print(self._numList[int(len(self._numList)/2)])
def largeCnt(self):
modeDict = Counter(self._numList)
modes = modeDict.most_common()
if len(self._numList) > 1:
if modes[0][1] == modes[1][1]:
mod = modes[1][0]
else:
mod = modes[0][0]
else:
mod = modes[0][0]
print(mod)
# keyNum = set(self._numList)
# numCnt = [(k,self._numList.count(k)) for k in keyNum]
#
# # value값을 기준으로 정렬
# numCnt.sort(key= lambda e:(e[1], e[0]), reverse=True)
#
# # list는 순서를 보존한다.
# rawV = [i[1] for i in numCnt]
# largeNum = rawV[0]
# largeCnt = rawV.count(largeNum)
# largeArr = [i[0] for i in numCnt[:largeCnt]]
#
# if len(largeArr) == 1:
# print(largeArr[0])
#
# elif len(largeArr) > 1:
# if len(largeArr) == 2:
# print(largeArr[1])
# else:
# print(largeArr[len(largeArr)-2])
def numRange(self):
print(self._numList[len(self._numList)-1] - self._numList[0])
if __name__ == "__main__":
q = Q_2108()
q.numSetting()
q.arithMean()
q.middleNumber()
q.largeCnt()
q.numRange()
'언어 > python' 카테고리의 다른 글
pdf 변환 (0) | 2019.12.18 |
---|---|
python으로 pdf 파일 read (0) | 2019.12.08 |
from csv to json convert + logstash (0) | 2019.11.26 |
네이버 기사 크롤링 => elasticsearch 적재 (0) | 2019.07.12 |
naver music 크롤링 + elasticsearch (0) | 2019.05.22 |