nums라는 배열이 있다고 가정하고 요소의 가장 작은 5%와 가장 큰 5%를 제거한 후 나머지 값의 평균을 찾아야 합니다.
따라서 입력이 nums =[2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8]인 경우 , 출력은 4.0이 됩니다. 가장 작은 값과 가장 큰 값을 제거한 후 모두 동일하고 중앙값은
이기 때문입니다.이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
목록 번호 정렬
-
n :=숫자 크기
-
per :=(n*5/100)의 몫
-
l2 :=인덱스 당에서 (숫자의 크기 - 당 - 1)
까지의 숫자 하위 배열 -
x :=l2에 있는 모든 요소의 평균
-
x를 반환
예제(파이썬)
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
def solve(nums): nums.sort() n = len(nums) per = int(n*5/100) l2 = nums[per:len(nums)-per] x = sum(l2)/len(l2) return x nums = [2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8] print(solve(nums))
입력
[2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8]
출력
4.0