문제 보기: https://www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
www.acmicpc.net
문제
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
입력
첫째 줄에는 테스트 케이스의 개수 C가 주어진다.
둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
출력
각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
새로 사용한 함수
input_list[1:]
리스트 배열의 1번부터 끝까지라는 뜻
print('%.3f' % percent + "%")
% 다음 . 다음 3개의 숫자 float 자료형에 print 안에 변수를 받기위해 % 사용
풀이 과정
1. 케이스 숫자를 받는다.
2. map함수와 list를 이용하여 input_list변수를 만든다.
3. for문을 이용해서 총합을 구해주고 이것을 이용해서 평균을 구한다.
4. 구한 평균 값을 카운트 할 수 있게하여 값을 얻는다.
코드
C = int(input())
for i in range(C):
input_list = list(map(int, input().split()))
sum = 0
for j in input_list[1:]:
sum += j
avg = sum / input_list[0]
count = 0
for k in input_list[1:]:
if k > avg:
count += 1
percent = (count / input_list[0]) * 100
print('%.3f' % percent + "%")
'Algorithm' 카테고리의 다른 글
[백준_10430] 나머지 (0) | 2022.04.20 |
---|---|
[백준_4673] 셀프 넘버 (0) | 2022.04.20 |
[백준_1110] 더하기 사이클 (0) | 2022.04.20 |
[백준_2884] 알람 시계 (0) | 2022.04.18 |
[백준_ 2588] 곱셈 (0) | 2022.04.18 |