BOJ/Python

백준 1546번 평균 파이썬

띵지니어 2021. 7. 27. 00:45

https://www.acmicpc.net/problem/1546

 

1546번: 평균

첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보

www.acmicpc.net

 

 

 

a = []
all = 0
x = int(input())
if x <= 1000:
    scores = [int(y) for y in input().split()]
    m = (max(scores))
for i in range(len(scores)):
    all += ((scores[i]/m)*100)
avg = all / x
print("%.2f"%avg)

 

첫번째 입력은 그냥 받고 , 두번째 입력은 리스트를 활용해 입력을 받았다.

계산과정은 문제의 보기와 같이 해결 하였고 

맨 마지막 %.2f 이 부분은 포맷팅 방식을 이용했다.

간단히 포맷팅에 설명을 하자면

파이썬에서는 print('%f'%x) 로 보통 실수 포맷팅을 한다. (포맷팅 방식은 매우 많다.)

디폴트 값은 6번째 자리 이며  x = 3.1415926535 라면

출력은 >> 3.141593 까지 반올림 하여 출력이 된다.

문제 보기와 같이 출력이 되기 위해서는 2번째 짜리 까지 출력 해야 하므로

print("%.2f"%avg) 라고 코딩을 한 것이다.

쉬울줄 알고 문제를 접했는데 생각 보다 난이도가 있어서 시간이 꽤 걸렸다.

 

 

'BOJ > Python' 카테고리의 다른 글

백준 1547번 공 파이썬  (0) 2021.07.28
백준 1247번 부호 파이썬  (0) 2021.07.28
백준 2562번 최댓값 파이썬  (0) 2021.07.24
백준 20499번 Darius님 한타 안함? 파이썬  (0) 2021.07.24
백준 5893번 17배 파이썬  (0) 2021.07.24