4344번 - 평균은 넘겠지
아무리 생각해도 어디서 틀렸는지 잘 모르겠습니다.
밑에는 코드와 주석이 함께 있는것입니다 참고해주세요~
n = int(input()) # 테스트 케이스 개수
a=[] # 퍼센트 저장할 빈 리스트
for i in range(n): #테스트 케이스 만큼만 반복
li = input().split(' ') # 입력값 " "를 구분자로 문자열 리스트만듦
li = [int(x) for x in li] # 리스트 컴프리핸션 이용. 문자열리스트를 정수 리스트로 바꿈
m = sum(li[1:])/li[0] # 리스트의 2번째 항목부터 끝까지 / 리스트의 첫항목(항목개수)
high = [x for x in li if x>m] #평균 넘는애들만 리스트로 만듦
a.append(len(high)/li[0]*100) #평균 넘는 퍼센트를 a리스트에 저장
for j in a: # 반복하며 출력
print("{:.3f}%".format(j)) #평균넘는애들/항목개수를 소수점3자리(자동반올림) 퍼센테이지로
와 생각지도 못한곳에서 실수가 있었네요.
그리고 조언들 정말 감사합니다.
특히 input 어떻게 하면 더 짧아지게 못하나 고민많았는데 그것까지 딱 해결이 되었습니다. 감사합니다~~
댓글을 작성하려면 로그인해야 합니다.
netsus 5년 전 1
아무리 생각해도 어디서 틀렸는지 잘 모르겠습니다.
밑에는 코드와 주석이 함께 있는것입니다 참고해주세요~
n = int(input()) # 테스트 케이스 개수
a=[] # 퍼센트 저장할 빈 리스트
for i in range(n): #테스트 케이스 만큼만 반복
li = input().split(' ') # 입력값 " "를 구분자로 문자열 리스트만듦
li = [int(x) for x in li] # 리스트 컴프리핸션 이용. 문자열리스트를 정수 리스트로 바꿈
m = sum(li[1:])/li[0] # 리스트의 2번째 항목부터 끝까지 / 리스트의 첫항목(항목개수)
high = [x for x in li if x>m] #평균 넘는애들만 리스트로 만듦
a.append(len(high)/li[0]*100) #평균 넘는 퍼센트를 a리스트에 저장
for j in a: # 반복하며 출력
print("{:.3f}%".format(j)) #평균넘는애들/항목개수를 소수점3자리(자동반올림) 퍼센테이지로