본문 바로가기

파이썬 알고리즘 풀이

4) 대표값

문제

N명의 학생 중 평균에 가장 가까운 학생은 몇 번째 학생인지 출력하는 프로그램을 작성하기

 

조건

평균과 가장 가까운 점수가 여러 개일 경우 먼저 점수가 높은 학생의 번호를 답으로 하고,

높은 점수를 가진 학생이 여러 명일 경우 그 중 학생번호가 빠른 학생의 번호를 답으로 합니다.

 

제한사항

첫줄에 자연수 N(5<=N<=100)이 주어지고, 두 번째 줄에는 각 학생의 수학점수인 N개의 자연수가 주어집니다.

학생의 번호는 앞에서부터 1로 시작해서 N까지이다.

첫줄에 평균과 평균에 가장 가까운 학생의 번호를 출력한다. 평균은 소수 첫째 자리에서 반올림합니다.

 

문제풀이

N = int(input())
a = list(map(int, input().split()))
avg = round(sum(a)/ N)
min = 2147000000

for idx, x in enumerate(a):
    tmp=abs(x-avg)

    if tmp < min:
        min=tmp
        score=x
        res=idx+1
    elif tmp == min:
        if x > score:
           score=x
           res=idx+1

print(avg, res)

'파이썬 알고리즘 풀이' 카테고리의 다른 글

6) 자릿수의 합  (0) 2021.10.19
5) 정다면체  (0) 2021.10.19
3) K번째 큰 수  (0) 2021.10.19
2) K번째 수  (0) 2021.10.19
1) K번째 약수  (0) 2021.10.18