평균 구하기 문서의 문제 1 풀이 코드다. if __name__ == "__main__": 아래가 자체 테스트다.
"""평균 구하기 (프로그래머스 12944) 풀이와 검증."""
import random
from fractions import Fraction
def solution(arr):
return sum(arr) / len(arr)
def solution_loop(arr):
total = 0
for x in arr:
total += x
return total / len(arr)
if __name__ == "__main__":
assert solution([1, 2, 3, 4]) == 2.5
assert solution([5, 5]) == 5
assert solution([2, 4, 9]) == 5 and solution([1, 2]) == 1.5 and solution([-3, 3]) == 0
rng = random.Random(12944)
for _ in range(1000):
arr = [rng.randint(-10000, 10000) for _ in range(rng.randint(1, 100))]
exact = Fraction(sum(arr), len(arr))
assert solution(arr) == solution_loop(arr)
assert abs(Fraction(solution(arr)) - exact) < Fraction(1, 10**9)
print("ALL CHECKS PASSED")