https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Pw_-KAdcDFAUq 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


# 1984. 중간 평균값 구하기

T = int(input())

for tc in range(1, T+1):
    num = list(map(int,input().split()))
    min_num = 10000
    max_num = 0

    for i in num:
        if min_num > i:
            min_num = i
        if max_num < i:
            max_num = i
    num.remove(min_num)
    # print(num)
    num.remove(max_num)
    # print(num)

    add = 0


    for i in num:
        add += i
    ans = add/len(num)

    print('#{} {:.0f}'.format(tc,ans))

num에서 최소값과 최대값을 빼기 위해 remove 메서드를 이용했다

처음에 pop을 이용해서 삭제하려고 했는데

remove(값)

pop(인덱스)

라는걸 잊고 pop(값)을 해줘서 계속 인덱스 오류가 발생했다.

만약 pop을 이용하려면 num리스트를 정렬한 후 가장 첫번째 값과 맨 끝값을 pop으로 삭제할 수 있었을 것 같다.

반응형

+ Recent posts