20210114 // 삼성 SW Expert 아카데미 // 1984
2021. 1. 14. 17:31ㆍProgramming/SW Expert Academy
삼성 SW Expert 아카데미 1984번 "중간 평균값 구하기" 문제입니다.
TC = int(input())
for tc in range(1, TC+1):
lst = list(map(int, input().split()))
lst.sort()
lst.pop(0)
lst.pop()
k = round(sum(lst)/len(lst))
print("#%s"%tc, k)
리스트를 입력받고 그 리스트의 최대 최소값을 제외한 값들의 평균값을 구하는 문제이다.
위 문제는 max, min 함수를 활용할 수도 있겠지만 나는 sort 메서드를 이용해서 정렬을 한다.
그 다음에 pop이라는 메서드를 사용하여 최대 최소 값을 제거한다. pop(index)는 index에 위치한 값을 리스트에서 제외하는 메서드인데
pop() 처럼 인자를 넣지 않을 경우 리스트의 마지막 인덱스 값을 제외한다. sort() 는 기본적으로 오름차순으로 리스트를 정렬하는데
lst.pop()으로 최댓값을 제외하고 lst.pop(0)으로 최소값으로 제외한다. 그 후 round 함수를 활용하여 정수 형태로 출력한다.
'Programming > SW Expert Academy' 카테고리의 다른 글
20210115 // 삼성 SW Expert 아카데미 // 1979 (0) | 2021.01.15 |
---|---|
20210114 // 삼성 SW Expert 아카데미 // 1983 (0) | 2021.01.14 |
20210114 // 삼성 SW Expert 아카데미 // 1986 (0) | 2021.01.14 |
20210114 // BaekJoon Online Judge // 4344 (0) | 2021.01.14 |
20210114 // 삼성 SW Expert 아카데미 // 1989 (0) | 2021.01.14 |