22.04.17 코테
백준 - 4344 - 파이썬
코드
n = int(input())
for _ in range(n):
cnt = 0
a = list(map(int, input().split())) #학생수 + 각 점수
mean = sum(a[1:])/a[0]
for score in a[1:]:
if score>mean:
cnt+=1
rate = (cnt/ a[0]) * 100
print("{:.3f}%".format(rate))
갈피를 잡을 수 있을 것 같으면서도 계속 틀렸던 문제입니다.
맨날 입력 변수를 a,b,c 같이 단순하게 설정했었는데, 조금 더 알아보기 쉬우라고 변수를 바꾸는 시도를 했습니다.
그러다가 처음 for문에서 n이 아닌 항상 쓰던 a를 사용해서 에러가 났었네요.
이 문제는 슬라이싱과 소수점 표현 방식만 알면 금방 풀 수 있는 문제인 듯 싶습니다.
소수점을 표현하는 방법은 https://blockdmask.tistory.com/534
에 있습니다.
Author And Source
이 문제에 관하여(22.04.17 코테), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gelgel5633/22.04.17-코테-03nv4y7r저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)