✍ 파이썬으로 기본 통계를 확인하는 함수를 손에 익히기 위해 진행합니다.
🚀 해커랭크에 기재된 문제입니다.
✅ 가중산술평균 <- 클릭하여 가중산술평균에 대해 훑어본 후, 코드를 작성하면 더욱 이해하기 쉽습니다 :)
n = int(input())
nums = [int(x) for x in input().split()]
weight = [int(x) for x in input().split()]
print(round(1.0*sum([nums[i]*weight[i] for i in range(n)])/sum(weight), 1))
✍ 변수선언: n은 input될 숫자의 개수, nums는 각 데이터 값, weight는 가중치
✍ for문: list comprehension 으로 표현식 작성
✍ round 함수 사용하여 반올림 결과 소수 첫째자리까지 print
n = int(input())
nums = list(map(int, input().split()))
weight = list(map(int, input().split()))
print('{:.1f}'.format(sum([xi * wi for xi, wi in zip(nums, weight)]) / sum(weight)))
✍ 위의 코드와 거의 유사하나, format함수를 사용하여 프린트 방식 지정
✍ zip 내장함수는 동일한 개수로 이루어진 자료형을 묶어 주는 역할! 즉, x리스트(데이터)와 w리스트(가중치) 개수가 동일하니 하나로 묶어줌
✍ 마찬가지로 list comprehension을 사용
✍ format에 sum(분자에 들어갈 값 표현식) / sum(가중치) 로 조건 지정
✍ print할 형식은 '{:.1f}'로 반올림하여 소수첫째자리까지 print!!
❗ 첫 번째 코드가 직관적이나, zip 내장 함수를 알게 되었으니 두 번째 코드도 간편하게 사용할 수 있을 것 같네요!
문제링크:
www.hackerrank.com/challenges/s10-weighted-mean/problem
'Python > 통계' 카테고리의 다른 글
[Python/Statistics] 파이썬으로 평균, 중간값, 최빈값 구하기 (0) | 2021.03.01 |
---|