본문 바로가기
파이썬/파이썬 알고리즘

[swea - 파이썬] 2071. 평균값 구하기

by Go! Jake 2021. 7. 21.

 

  문제

10개의 수를 입력 받아, 평균값을 출력하는 프로그램을 작성하라.

(소수점 첫째 자리에서 반올림한 정수를 출력한다.)

 

  풀이

T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
    # ///////////////////////////////////////////////////////////////////////////////////
    numbers=list(map(int,input().split()))
    avg_value=sum(numbers)/len(numbers)
    avg_value=round(avg_value)
    print("#{} {}".format(test_case,avg_value))
    # ///////////////////////////////////////////////////////////////////////////////////

10개의 수를 입력 받아 모두 더한 후 수의 개수만큼 나눈 후에 소수점 첫째 자리에서 반올림한 정수를 출력하는 것이다.

 

1. 10개의 수를 입력 받을 때 list(map(int,input().split()))을 사용하면 띄어쓰기를 기준으로 입력된 숫자를 모두 정수 처리하고 리스트화 한다.

2. 이 문제의 핵심은 avg_value = sum(numbers)/len(numbers) 이 부분이다. 통상 //를 통해 정수 나눗셈을 하는 경우가 많은 데, 정수 나눗셈을 하면 나눗셈을 수행한 후 더 낮은 정수로 '내림'이 수행되기 때문에 문제의 의도와 맞지 않다.

/로 사용하면 일반 나눗셈이 된다.

3. 일반 나눗셈을 한 후 round() 함수를 활용하여 반올림한다.

 

 

 

댓글