https://www.acmicpc.net/problem/4344
1. 내가 작성한 코드
c = int(input()) #테스트 케이스 C의 개수
for i in range(c):
arr = list(map(int, input().split())) #테스트케이스 입력
score = arr[1:] #과목 수를 나타내는 인덱스 제외하고 SCORE 리스트에 넣음
result = []
avg = sum(score)/arr[0] #평균 구하기
for j in arr[1:]: #총 평균보다 큰 학생 찾기
if j > avg:
result.append(j)
score = (len(result)/(arr[0])*100)
print("{:.3f}".format(score)+"%")
2. 혼자 수정해보기
c = int(input())
for i in range(c):
arr = list(map(int, input().split()))
count = 0
avg = sum(arr[1:])/arr[0]
for j in arr[1:]:
if j > avg:
count +=1
score = (count/(arr[0])*100)
print("{:.3f}".format(score)+"%")
1) score 리스트를 선언하지 않고, 바로 평균 계산을 함
2) result 리스트를 선언하지 않고, count 변수로 바꿈
=> format 함수들 다시 공부하기
3. 오류
TypeError: 'int' object is not callable 라는 오류가 지속적으로 발생했는데, 이건 예약어인 sum을 변수로 할당해서 그렇다
예약어를 변수로 선언하지 않도록 주으ㅣㅎㅏㄱㅣ❗❗❗❗❗❗❗❗
'🔅코딩테스트 공부🔅 > ❗백준' 카테고리의 다른 글
[백준] 4673번 셀프 넘버(with python) (0) | 2023.01.19 |
---|---|
[백준] 1065번 한수(with python) (0) | 2023.01.19 |
[백준] 8958번 OX퀴즈(with python) (0) | 2023.01.18 |
[백준] 3052번 나머지(with python) (0) | 2023.01.18 |
[백준] 5597번 과제 안 내신 분..?(with python) (0) | 2023.01.18 |
댓글