본문 바로가기

백준/python

2592:대표값(python)

https://www.acmicpc.net/problem/2592

 

2592번: 대표값

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

www.acmicpc.net

 

문제

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

평균 이외의 또 다른 대표값으로 최빈값이라는 것이 있다. 최빈값은 주어진 수들 가운데 가장 많이 나타나는 수이다. 예를 들어 10, 40, 30, 60, 30, 20, 60, 30, 40, 50이 주어질 경우, 30이 세 번, 40과 60이 각각 두 번, 10, 20, 50이 각각 한 번씩 나오므로, 최빈값은 30이 된다.

열 개의 자연수가 주어질 때 이들의 평균과 최빈값을 구하는 프로그램을 작성하시오.

풀이

평균을 구하기는 쉽다. 그냥 리스트를 만들고 10개의 값을 입력해서 그걸 합치고 나누면 되니까.

최빈값의 경우 가장 많이 나온 값이므로 count 함수를 사용해서 가장 높은 최댓값을 출력하면 된다.

코드

 

n=[] #임의의 리스트 생성

for i in range(10): #10번 반복
    a=int(input()) #정수 10개 반복 입력
    n.append(a) #입력한 정수를 리스트에 추가
avg=(n[0]+n[1]+n[2]+n[3]+n[4]+n[5]+n[6]+n[7]+n[8]+n[9])//10 #10개의 입력 정수 평균
lower_count=max(n, key = n.count) #배열 n에서 개수를 센 것중 가장 많이 나온 것의 값을 출력
print(avg)
print(lower_count)

'백준 > python' 카테고리의 다른 글

2755: 이번학기 평점은 몇 점?(python)  (0) 2023.09.13
3181: 줄임말 만들기(python)  (0) 2023.09.13
2386:도비의 영어 공부(python)  (0) 2023.09.13
1212: 8진수 2진수(python)  (0) 2023.09.13
1076: 저항(python)  (0) 2023.09.13