문제
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() 함수를 활용하여 반올림한다.
'파이썬 > 파이썬 알고리즘' 카테고리의 다른 글
[swea - 파이썬] 2063. 중간값 찾기 (0) | 2021.07.21 |
---|---|
[swea - 파이썬] 2056. 연월일 달력 (0) | 2021.07.21 |
[swea - 파이썬] 2072. 홀수만 더하기 (0) | 2021.07.20 |
[swea - 파이썬] 1936. 1대1 가위바위보 (0) | 2021.07.20 |
[swea - 파이썬] 2043. 서랍의 비밀번호 (0) | 2021.07.20 |
댓글