[파이썬/python] 백준 5800번 : 성적통계 (🥈5)

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

 

5800번: 성적 통계

첫째 줄에 중덕 고등학교에 있는 반의 수 K (1 ≤ K ≤ 100)가 주어진다. 다음 K개 줄에는 각 반의 학생수 N (2 ≤ N ≤ 50)과 각 학생의 수학 성적이 주어진다. 시험 성적은 0보다 크거나 같고, 100보다

www.acmicpc.net

풀이

for j in range(int(input())):
    sco=list(map(int,input().split()))
    del sco[0]
    sco.sort()
    gap = []
    print('Class', j+1)
    
    for i in range(len(sco)-1):
        gap.append(sco[i+1]-sco[i])
    print('Max %d, Min %d, Largest gap %d' %(max(sco),min(sco),max(gap)))

띄어쓰기 조심!

for 문의 범위를 sco리스트의 길이보다 하나 적게 해야 한다.왜냐하면 sco[i+1] - sco[i] 를 해줘야 하기 때문에,만약 -1를 해주지 않으면 리스트 길이보다 초과되기 때문에 인덱스범위오류가 난다.

comment