[백준] 2108 통계학 Python Counter모듈

2021. 12. 26. 23:12·Algorithm/백준

#2108 통계학

1. from collections import Counter 모듈 사용

 - Counter()를 사용하면 다음과 같이 빈도수와 리스트를 dictionary 형태로 저장해준다.

 - most_common()을 사용하면 빈도수로 정렬하고 dictionary를 list[tuple()] 형태로 저장해준다.

from collections import Counter

colors = Counter(['blue', 'green', 'red', 'blue','red','blue'])

print(colors)
# Counter({'blue': 3, 'red': 2, 'green': 1})

print(colors.most_common())
# [('red', 3), ('blue', 2), ('green', 1)]

print(colors.most_common(2))
# 가장 많은 것 부터 2개 출력
# [('red', 3), ('blue', 2)]

출처 : https://velog.io/@jaenny/%EB%B0%B1%EC%A4%80-2108-%ED%86%B5%EA%B3%84%ED%95%99-Python%ED%8C%8C%EC%9D%B4%EC%8D%AC

 

2. Python 내장 round 함수 사용

 - round()를 사용하면 반올림을 해준다.

round(3.1415)
# 결과는 3

round(3.1415, 2)
# 결과는 3.14

round(3.1415, -1)
# 결과는 30.0

round(3.5)
round(4.5)
# 오사오입을 따르기에 결과는 둘 다 4

3. 빈도수를 측정하는 freq함수에 대해

 - 빈도수가 같은 수가 있을 경우 두번째 숫자 출력

 - most_common()의 결과가 유일할 경우 해당 숫자를 출력 

 

4. 전체 코드

import sys
from collections import Counter

input = sys.stdin.readline
n = int(input())
num_list = []

for _ in range (n):
    num_list.append(int(input()))

def mean(a):
    return round(sum(a)/n)

def median(a):
    a.sort()
    return a[n//2]

def freq(a):
    cnt = Counter(a).most_common()
    if len(a)>1:
        if cnt[0][1]==cnt[1][1]:
            fre = cnt[1][0]
        else:
            fre = cnt[0][0]
    else:
        fre = cnt[0][0]
    return fre
        
def scope(a):
    return (a[-1] -  a[0])
    # a[-1] : 가장 마지막 요소
    
print(mean(num_list))
print(median(num_list))
print(freq(num_list))
print(scope(num_list))
반응형
'Algorithm/백준' 카테고리의 다른 글
  • [백준] 2798블랙잭과 Python itertools의 순열&조합
  • [백준] 11866 요세푸스 문제 0과 Python deque
  • [사소한 궁금증3] python math.comb와 factorial 함수
  • [백준] 1920 수 찾기와 Python 이진탐색(Binary Search)
수영하는 두루미
수영하는 두루미
한국체육대학교에서 스포츠 AI빅데이터를 공부하고 있습니다. B.S. Computer Science
  • 수영하는 두루미
    두루미의 스포츠 데이터분석실
    수영하는 두루미
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • 스포츠 AI·빅데이터(2024~) (21)
        • 2024-2 (0)
        • 빅데이터기반 스포츠경기분석 (10)
        • 스포츠와 소셜텍스트분석 (4)
        • 영상기반 데이터 수집기법 (3)
        • 2025-1 (0)
        • 스포츠와 AI 모델링 기초 (0)
        • 스포츠와 프로그램 코딩(Python) (0)
        • 운동역학 (0)
        • 2025-2 (0)
        • 스포츠 AI빅데이터 연구 세미나 (1)
        • 스포츠 딥러닝 (0)
        • 운동생리학 (0)
        • etc. (0)
      • Data (13)
        • ADsP (1)
        • SQLD (1)
        • 빅데이터분석기사 (4)
        • ADP(데이터분석 전문가) (5)
        • 키다리아저씨(2021.12.05~) (2)
        • 파이썬 자격과정(2021.07.22-23) (0)
      • 정보처리기사 (1)
      • CSTS (10)
      • 블록체인과 암호화폐 (0)
        • 블록체인 (0)
      • Algorithm (44)
        • 백준 (42)
        • 자료구조 (2)
      • CSOS (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    동적테스트
    데이터분석
    경험기반테스트
    백준
    스포츠ai빅데이터
    C언어
    csts
    스포츠데이터분석
    Python
    한체대대학원
    자료구조
    구조기반테스트
    스포츠데이터
    명세기반테스트
    heapsort
    알고리즘
    정적테스트
    스포츠빅데이터
    빅데이터분석기사
    한체대
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
수영하는 두루미
[백준] 2108 통계학 Python Counter모듈
상단으로

티스토리툴바