문제설명
체조선수는 여러 심사위원의 점수 중 가장 높은 점수 하나와 가장 낮은 점수 하나를 제외하고 나머지 점수들의 평균을 계산하여 최종점수를 받습니다. _단, 이때 소수점 이하의 수는 버립니다._
예를 들어, A 선수가 10명의 심사위원에게 [35, 28, 98, 34, 20, 50, 85, 74, 71, 7]의 점수를 받았습니다. 가장 높은 점수인 98점과 가장 낮은 점수인 7점을 제외하고 나머지 8명의 심사위원 점수 평균을 구하면 49.625점입니다. 여기서 소수점 이하의 수를 버리면 49점입니다.
각 심사위원이 매긴 점수가 담긴 리스트 scores가 매개 변수로 주어질 때, 이 선수가 받은 점수를 return 하도록 solution 함수를 작성해주세요.
매개변수 설명
심사위원이 준 점수가 들어있는 리스트 scores가 solution 함수의 매개변수로 주어집니다.
* scores의 길이는 3 이상 100 이하입니다.
* 심사위원이 부여하는 점수의 범위는 0 이상 100 이하의 정수입니다.
return 값 설명
심사위원이 준 점수 중 가장 높은 점수와 가장 낮은 점수를 제외한 점수의 평균에서 소수점을 버린 값을 return 합니다.
예시
| scores | return |
|-----------------------------------------|--------|
| [35, 28, 98, 34, 20, 50, 85, 74, 71, 7] | 49 |
| [1, 1, 1, 1, 1] | 1 |
예시 설명
예시 #1
문제에 나온 예와 같습니다.
예시 #2
가장 높은 점수는 1점이며, 가장 낮은 점수도 1점입니다. 1점을 두 개 제외한 나머지 점수의 합은 3점이며, 평균은 1점이 됩니다.
문제 코드
def solution(scores):
answer = 0
#여기에 코드를 작성해주세요.
return answer
풀이 1
def solution(scores):
answer = 0
# scores를 오름차순 정렬
scores.sort()
# min, max를 제외한 scores의 값 덧셈
for i in scores[1:-1]:
answer += i
# 평균 계산
answer //= (len(scores)-2)
return answer
풀이 2
def solution(scores):
return (sum(scores) - max(scores) - min(scores)) // (len(scores) - 2)
댓글