연습장

평균은 넘겠지 - 4344

anothel 2022. 2. 21. 11:39
시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율
1 초 256 MB 173170 62801 52499 36.393%

문제

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

입력

첫째 줄에는 테스트 케이스의 개수 C가 주어진다.

둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.

출력

각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.

예제 입력 1

5
5 50 50 70 80 100
7 100 95 90 80 70 60 50
3 70 90 80
3 70 90 81
9 100 99 98 97 96 95 94 93 91

예제 출력 1

40.000%
57.143%
33.333%
66.667%
55.556%

 

Solution

https://github.com/anothel/BOJ/blob/main/python/4344_OverAverage.py

 

GitHub - anothel/BOJ

Contribute to anothel/BOJ development by creating an account on GitHub.

github.com

 

후기

난 무지하고 잘 모르는 게 많다. 그래서 항상 낮은 위치에서 겸손한 자세로 임해야만 한다. 그것만 이 살길이다. 근데 지금 그 살 길이 문제가 아니고. 그동안 파이썬으로 BOJ를 쳐내면서 궁금했던 점이 있다. Python은 C 기반으로 만들어진 언어라고 들었는데, for문을 제대로 쓸 수가 없는 것이다. 가령, 나는 인수의 시작을 1부터 하고 싶은데 1을 어떻게 뛰어넘어야 하는지를 모르겠는 것이다.

 

그렇다 여기서부터 문제였던 것이다. 그냥 1부터 시작하면 되는데 뭘 뛰어넘어? 지극히 잘못 접근한 것이다. 이런 상황이 너무 답답해서 대체 range는 어떻게 쓰는 키워드인가 검색을 해봤지. 간단했다. 인자를 하나 주면 0부터 해당 수 -1 까지를 반복 한다. 두 개를 주면 첫 번째 인자부터 두 번째 인자까지 반복하고, 세 개를 주면 첫 번째 인자부터 두 번째 인자까지 검사하는데 얼마큼 도약할 것인지 판단한다.

 

이런 새로운 사실을 깨닫는 순간 유레카라고 하던가. 예전에 어렸을 때 목욕탕에서 물이 넘치는 것을 깨닫고선 유레카! 를 외치고 옷도 안 걸치고 밖으로 뛰쳐나가는 비디오가 생각난다. 유레카! 하지만 밖으로는 안 뛰쳐나간다. 귀찮아서..

 

(url: https://www.acmicpc.net/problem/4344)

 

728x90

'연습장' 카테고리의 다른 글

단어 공부 - 1157  (0) 2022.02.22
나머지 - 3502  (0) 2022.02.21
사분면 - 9610  (0) 2022.02.20
팰린드롬인지 확인하기 - 10988  (0) 2022.02.20
약수들의 합 - 9506  (0) 2022.02.19