반응형
https://www.acmicpc.net/problem/1546
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 |