백준 4344번_파이썬 알고리즘
Q. 백준 4344. 평균은 넘겠지
테스트 케이스를 받아 학생들의 평균의 비율을 알려주는 프로그램을 작성한다.
(1) 입력 : 첫째 줄에는 테스트 케이스의 개수 C를 입력받고, 둘째 줄은 각 테스트 케이스의 학생의 수 N와 각 N명의 학생들의 점수를 입력받는다. (1 ≤ N ≤ 1000, N은 정수, 0 ≤ 점수 ≤ 100)
(2) 출력 : 각 케이스마다 평균을 넘는 학생들의 비율을 출력한다. (*소수점 셋째 자리까지 반올림)
A. 풀이
# Q 백준 4344. 평균은 넘겠지
# 테스트 케이스 갯수 선언
c = int(input())
# for 문을 통해 테스트
for i in range(c):
score = list(map(int, input().split())) # 스코어 입력받기
avg_score = sum(score[1:])/score[0] # 평균 스코어 구하기
better = [] # 평균 이상의 점수를 획득한 인원 리스트
for j in range(len(score)): # 스코어 수만큼 for 반복
if j == 0: # score의 첫번째 인덱스는 인원수이므로 제외
pass
elif score[j] > avg_score: # score 요소가 평균보다 크다면
better.append(score[j]) # better 리스트에 추가
print(f"{len(better)/score[0] :.3%}") # better 리스트 요소 숫자를 전체인원으로 나누기
# f스트링, 퍼센트, 유효숫자 주의!
R. 리뷰
- f-string, 퍼센트, 유효숫자 사용 익힐것
- 문자열 인덱스 슬라이싱에서 score[1:] 과 score[1:-1]은 다르므로 혼동하지 않도록 주의해야 한다.
반응형
'DEV > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 11720번(파이썬) (0) | 2022.10.04 |
---|---|
백준 알고리즘 11654번(파이썬) (0) | 2022.10.03 |
백준 알고리즘 8958번(파이썬) (0) | 2022.10.01 |
백준 알고리즘 1546번(파이썬) (0) | 2022.09.30 |
백준 알고리즘 3052번(파이썬) (0) | 2022.09.29 |
댓글