백준 2108 통계학 파이썬

채병훈·2021년 6월 23일
0

algorithm

목록 보기
1/2
post-thumbnail

백준 문제

문제 풀이

if 문은 최빈값이 여러개인 경우 2번째로 짝을수를 반환하기 위한 부분이다.

코드

구글링 해서 찾은 정답...

import sys
from collections import Counter
n = int(sys.stdin.readline())
nums = []
for i in range(n):
    nums.append(int(sys.stdin.readline()))
nums.sort()
nums_s = Counter(nums).most_common()
print(round(sum(nums) / n))
print(nums[n // 2])
if len(nums_s) > 1:
    if nums_s[0][1] == nums_s[1][1]:
        print(nums_s[1][0])
    else:
        print(nums_s[0][0])
else:
    print(nums_s[0][0])
print(nums[-1] - nums[0])

알게 된 것

counter 함수에 관해서 알게 되었다.
다음번에는 직접 round 함수 그리고 counter 함수를 구현해봐야겠다. 1157 단어공부 문제에서 했던 방식으로 카운터 함수를 구현해 볼 수 있을것 같다.
most_common은 빈도수가 같은 수는 최소값 순으로 리스트에 저장한다. ex. [[-2,3],[-1,3]]

0개의 댓글

관련 채용 정보