반응형
collections에 있는 counter를 이용함
산술평균의 경우 처음엔 f-string을 썼는데 계속 틀렸다고 해서 round로 바꿨더니 해결됐다..! f-string이 특정 값일때 반올림을 잘 못하는 것 같은데 아마 첫째자리가 5인 음수이지 않을까라는 생각이 든다.
counter의 most_common이라는 내장함수는 (숫자, 횟수)를 데이터 갯수가 많은 순으로 리스트로 리턴해준다.
미리 ary를 sort해놨기 때문에 첫번째랑 두번째 횟수가 동일한지만 비교하면 된다.(횟수가 동일하면 앞에꺼가 뒤에보다 더 작은 값임)
import sys
from collections import Counter
input = sys.stdin.readline
N = int(input())
a = [int(input()) for i in range(N)]
a.sort()
a_num = Counter(a).most_common(2)
print(round(sum(a)/N)) #print('%.f'%(sum(a)/N))
print(a[int(N//2)])
if len(a) > 1:
if a_num[1][1] == a_num[0][1]:
print(a_num[1][0])
else:
print(a_num[0][0])
else:
print(a_num[0][0])
print(a[N-1]-a[0])
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
2468번 파이썬 (0) | 2022.03.27 |
---|---|
2579번 파이썬 (0) | 2022.03.26 |
5014번 파이썬 (0) | 2022.03.21 |
1697번 파이썬 (0) | 2022.03.20 |
7569번 파이썬 (0) | 2022.03.20 |