Python/백준 알고리즘

[BaekJoon/Python] : 백준 4344번 - 평균은 넘겠지

우준세 2021. 1. 2. 17:25
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
반응형