본문 바로가기
코딩테스트 문제풀이(Python)

백준 2587번 문제풀이(파이썬)

by chanfficial 2022. 5. 12.

2587. 대표값2

 


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

평균 이외의 또 다른 대표값으로 중앙값이라는 것이 있다. 중앙값은 주어진 수를 크기 순서대로 늘어 놓았을 때 가장 중앙에 놓인 값이다. 예를 들어 10, 40, 30, 60, 30의 경우, 크기 순서대로 늘어 놓으면

10 30 30 40 60 이 되고 따라서 중앙값은 30이 된다.

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


 

 

입력 : 첫째 줄부터 다섯 번째 줄까지 한 줄에 하나씩 자연수가 주어진다. 주어지는 자연수는 100 보다 작은 10의 배수이다.

출력 : 첫째 줄에는 평균을 출력하고, 둘째 줄에는 중앙값을 출력한다. 평균과 중앙값은 모두 자연수이다.

 

 

ex)

입력 :

10
40
30
60
30

출력 :

34
30

 

 

 

 

 

풀이

num = []

for i in range(5):
    a = int(input())
    num.append(a)

num.sort()
average = int(sum(num) / 5)

print(average, num[2], sep='\n')

- 먼저 다섯 개의 자연수를 입력받아 빈 배열인 num에 하나씩 추가해준 다음 sort()를 사용하여 리스트를 오름차순으로 정렬했다. 

그리고 sum()을 이용하여 리스트 num의 요소들의 총 합을 5로 나눈 수를 정수형으로 변환한 다음, 평균을 의미하는 변수인 average에 할당해주었다.

최종적으로 평균인 average와 리스트의 중앙값인 num[2]를 개행문자인 sep='\n' 을 사용하여 한 줄에 하나씩 출력하도록 했다.