관리 메뉴

솜씨좋은장씨

[BaekJoon] 2592번 : 대표값 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 2592번 : 대표값 (Python)

솜씨좋은장씨 2022. 6. 20. 20:16
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 대표값 입니다.

 

2592번: 대표값

어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30, 20, 60, 30, 40, 50의 평균은

www.acmicpc.net

👨🏻‍💻 문제 풀이

이 문제는 10개의 자연수가 주어졌을때 

그 10개 숫자의 평균값과 가장 많이 등장하는 수 ( 최빈값) 를 구하는 문제입니다.

평균의 경우 

def calcuate_avg_num(numbers):
    return sum(numbers) // len(numbers)

10개 숫자의 합을 10으로 나눈 값으로 구하였습니다.

최빈값의 경우

from collections import Counter

def get_most_common_num(numbers):
    return Counter(numbers).most_common(1)[0][0]

collections의 Counter를 활용하여 각 숫자의 빈도를 구한 뒤

most_common(1) 을 활용하여 구하였습니다.

👨🏻‍💻 코드 ( Solution )

from collections import Counter


def get_most_common_num(numbers):
    return Counter(numbers).most_common(1)[0][0]


def calcuate_avg_num(numbers):
    return sum(numbers) // len(numbers)


def representative_value(numbers):
    most_common_num = get_most_common_num(numbers)
    
    avg = calcuate_avg_num(numbers)
    
    return avg, most_common_num


if __name__ == "__main__":
    numbers = []
    
    for _ in range(10):
        number = int(input())
        numbers.append(number)
        
    avg, most_common_num = representative_value(numbers)
    
    print(avg)
    print(most_common_num)
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments