728x90
반응형
이번 포스팅은 www.acmicpc.net/problem/4344에서 푼 것을 토대로 작성했습니다.
1차원 배열의 마지막 문제인 평균은 넘겠지입니다.
문제.
문제를 보시면 첫째 줄에 테스트 케이스 C가 주어지고
둘째 줄부터는 처음 입력은 학생 숫자 그 뒤로 학생 숫자만큼의
점수를 입력받고
출력에는 입력받은 점수의 평균이 넘는 학생 수의 비율을 나타내는 프로 그렇습니다.
c = int(input())
for i in range(c):
student = 0
x = list(map(int, input().split()))
avg = sum(x[1:])/x[0]
for j in x[1:]:
if j > avg:
student += 1
else :
student += 0
rate = student/x[0]*100
print("%.3f" %rate + "%")
이번 문제는 슬라이싱을 이용하여 풀었습니다.
리스트로 학생 수와 점수를 입력받았고
x[0]은 학생수를
x[1:]은 리스트 요소 중 두 번째 요소부터 마지막까지 이므로 점수를 의미합니다.
이것을 이용하여 avg를 구하였고
x[1:] 요소를 가지고, 즉 점수를 가지고 for문을 이용하여
학생 수를 구하였습니다.
출력 조건에 소수 3번째 자리와 % 까지 들어가야 하므로
print에서 %.3f와 + "%" 해주어 출력을 했습니다.
다음 포스팅으로 찾아오겠습니다 :)
728x90
반응형
'Python > 백준 알고리즘' 카테고리의 다른 글
[BaekJoon/Python] : 백준 4673번 - 셀프 넘버 (0) | 2021.01.03 |
---|---|
[BaekJoon/Python] : 백준 15596번 - 정수 N개의 합 (0) | 2021.01.03 |
[BaekJoon/Python] : 백준 8958번 - OX 퀴즈 (0) | 2021.01.02 |
[BaekJoon/Python] : 백준 1546번 - 평균 (0) | 2021.01.02 |
[BaekJoon/Python] : 백준 3052번 - 나머지 (0) | 2021.01.01 |