본문 바로가기
코딩공부/백준 (python)

[백준 4344] 평균은 넘겠지 (Python)

by CodingKwon 2022. 2. 22.

문제 링크

https://www.acmicpc.net/problem/4344

 

4344번: 평균은 넘겠지

대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

www.acmicpc.net

 

나의 코드 (Python)

n = int(input()) 	# 문제개수입력
for _ in range(n):	# 문제만큼 반복
    arr = list(map(int, input().split())) 	# 테스트케이스 입력
    student = arr[0] 	# 테스트케이스 맨 앞은 학생의 수
    average = sum(arr[1:]) / student 	# 학생들의 점수의 평균을 구함
    res = 0 	# 평균이상 학생의 비율을 구할 변수

    for chk in arr[1:]: 	# 각 점수를 비교
        if chk > average: 	# 평균보다 높은 경우 카운팅
            res += 1
    
    print("%.3f" % (res / arr[0] * 100) + "%") 	# 결과 출력

 

이 문제는 배열을 슬라이싱 하는 방법을 아는 것이 중요합니다.

arr[0]은 배열의 첫 번째 원소를 선택하는 것이고 arr[1:]은 두 번째 원소부터 나머지까지를 의미합니다.

이를 통해서 각 테스트케이스에 학생의 수와 점수를 나누어 사용할 수 있습니다.

 

댓글