[백준] 2108번 통계학

seeseal·2022년 4월 22일
0

코딩 테스트

목록 보기
12/22
post-thumbnail

문제 출처 : https://www.acmicpc.net/problem/2108

정답 코드 💻

import sys

n = int(sys.stdin.readline())
num=[]
for i in range(n) :
    num.append(int(sys.stdin.readline()))

print(round(sum(num)/n)) # 산술평균
cnt1 = n//2

print(sorted(num)[cnt1]) # 중앙값

from collections import Counter
num.sort()
num_s = Counter(num).most_common()

if len(num_s) > 1 :
    if num_s[0][1] == num_s[1][1] :
        print(num_s[1][0])
    else :
        print(num_s[0][0])
else :
    print(num_s[0][0])

print(max(num)-min(num)) # 범위

설명

👉🏻 파이썬 내장함수 Counter을 이용해서 Counter(num).most_common 함수를 사용하면 이차원 배열 형식으로 (숫자, 빈출 횟수)로 출력이 된다. 이것도 모르고 하나하나 구현하는데 제약사항이 많아서 머리가 아팠다.

느낀 점 ✏️

확실히 코딩테스트는 많이 풀어보고 푸는 요령을 익히는 것 같다.

0개의 댓글

관련 채용 정보