본문 바로가기
개발/SWEA (D1) 문제 풀이

SW Expert Academy - 2071. 평균값 구하기(D1)

by v너굴이v 2022. 11. 11.

출처 - https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&contestProbId=AV5QRnJqA5cDFAUq&categoryId=AV5QRnJqA5cDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=1&pageSize=10&pageIndex=1

 

SW Expert Academy

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

swexpertacademy.com

<나의 풀이>

우선 주어지는 입력값의 개수는 10개이다.

따라서 평균을 구하기 위해서는 10으로 나누면 된다는 것이 간단하다.

이때 주의할 점은 소수점 첫째 자리에서 반올림한 정수를 출력하는 것이다.

따라서 파이썬 내장 함수인 round를 사용하면 된다.

 

이번에도 입력값 세팅을 해보자.

T = int(input())
for i in range(1,T+1):
    A = list(map(int,input().split()))

여기서 list A에 받은 수들을 모두 더해야 하는데,

단순하게 리스트에서 꺼내서 더하는 것보다는 반복문을 사용하면 좋아 보인다.

우선 총합을 의미하는 sum_all을 0으로 선언하고

새로운 반복문을 작성하면 다음과 같다.

sum_all = 0
for j in range(10):
    x = int(A[j])
    sum_all += x

총 10개의 숫자이기 때문에 반복문을 통해 sum_all에 숫자를 더해준다.

그리고 이들을 합한 것을 10으로 나누면 되는데,

이때 나오는 값을 반올림해주는 것이 포인트다.

따라서 최종적으로 작성하면 다음과 같다.

T = int(input())
for i in range(1,T+1):
    A = list(map(int,input().split()))
    sum_all = 0
    for j in range(10):
        x = int(A[j])
        sum_all += x
        avg = round(sum_all/10)
    print('#{} {}'.format(i,avg))

지금까지 비슷한 이론으로 풀이가 가능했다.

실제 시험에서도 이러한 문제가 나오지 않을까 싶다.

 

댓글