Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 중복을 제거한 고유 높이 값의 평균 구하기

문제 개요

높이 값들이 담긴 리스트가 주어졌을 때, 그 안에는 중복된 항목도 포함되어 있을 수 있습니다. 이때 우리가 구해야 할 것은 중복을 제거한 고유한 항목들만의 평균입니다.

예를 들어 입력이 heights = [96,25,83,96,33,83,24,25]라고 해보겠습니다. 고유한 요소는 [96, 25, 83, 33, 24]이고, 이들의 합은 96 + 25 + 83 + 33 + 24 = 261입니다. 따라서 평균은 261 ÷ 5 = 52.2가 됩니다.

해결 접근 방법

이 문제는 다음 두 단계만으로 간단하게 해결할 수 있습니다.

  • h_set := heights 리스트를 집합(set)으로 변환하여 중복 제거

  • h_set에 담긴 값들의 합을 h_set의 크기(원소 개수)로 나눈 값을 반환

Python의 set()은 자동으로 중복된 값을 제거해 주기 때문에, 별도의 필터링 로직 없이도 코드를 매우 간결하게 작성할 수 있습니다.

예제 코드

다음 구현 예시를 통해 더 자세히 이해해 보겠습니다.

def solve(heights):
   h_set = set(heights)
   return sum(h_set)/len(h_set)

heights = [96,25,83,96,33,83,24,25]
print(solve(heights))

입력

[96,25,83,96,33,83,24,25]

출력

52.2