728x90
📌문제 출처
백준 단계별 문제풀이 - 1차원 배열
https://www.acmicpc.net/problem/4344
❓ 문제
📗 문제 설명
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
📗 입출력
- 입력
- 첫째 줄에는 테스트 케이스의 개수 C가 주어진다.
- 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
- 출력
- 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
- 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
❗ 풀이
- formatting 활용 소수점 나타내기
📗 풀이 코드
for _ in range(int(input())) :
scores = list(map(int, input().split()))
student = scores.pop(0)
mean = sum(scores)/student
avgcnt = 0
for sco in scores :
if sco > mean :
avgcnt += 1
print(f'{round((100*avgcnt/student),4):.3f}%')
📗 코드 해설
- 입력값에서 학생 수만 pop()으로 추출 후 점수의 평균을 구한다.
- 학생 점수를 하나씩 확인하며 평균보다 높은 학생 수를 구한다.
- formatting을 활용하여 비율을 원하는 소수점 자리까지 나타낸다.
- round는 유효숫자까지만 소수점 표현이 가능하나 formatting은 내가 정한만큼 표현한다.
'파이썬 문제풀이' 카테고리의 다른 글
[백준 파이썬] 1065 한수 (0) | 2023.09.13 |
---|---|
[백준 파이썬] 15596 정수 N개의 합 (0) | 2023.09.13 |
[백준 파이썬] 8958 OX퀴즈 (0) | 2023.09.13 |
[백준 파이썬] 1546 평균 (0) | 2023.09.13 |
[백준 파이썬] 3052 나머지 (0) | 2023.09.13 |