SW Expert

[SWEA] 1983 조교의 성적 매기기 Python

꿀떡최고 2021. 5. 26. 10:42
반응형

[ 문제 ]

 

난이도:  D2

문제 번호:  1983

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PwGK6AcIDFAUq&categoryId=AV5PwGK6AcIDFAUq&categoryType=CODE&problemTitle=1983&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 


 

학기가 끝나고, 학생들의 점수로 학점을 계산중이다.

학점은 상대평가로 주어지는데, 총 10개의 평점이 있다.

 

학점은 학생들이 응시한 중간/기말고사 점수 결과 및 과제 점수가 반영한다.

각각 아래 비율로 반영된다.

 

10 개의 평점을 총점이 높은 순서대로 부여하는데,

각각의 평점은 같은 비율로 부여할 수 있다.

예를 들어, N 명의 학생이 있을 경우 N/10 명의 학생들에게 동일한 평점을 부여할 수 있다.

입력으로 각각의 학생들의 중간, 기말, 과제 점수가 주어지고,

학점을 알고싶은 K 번째 학생의 번호가 주어졌을 때,

K 번째 학생의 학점을 출력하는 프로그램을 작성하라.


 

[ 코드 ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
for tc in range(1int(input())+1):
    N, K = map(int, input().split())
    alp = ['A+''A0''A-''B+''B0''B-''C+''C0''C-''D0']
    per = [0.350.450.2]
    scores = []
    m = N // 10
 
    lis = []
    for j in range(111):
        lis.append(m * j)
 
 
    for i in range(N):
        A, B, C = map(int, input().split())
        scores.append(A*0.35+B*0.45+C*0.2)
    arr = sorted(scores, reverse=True)
 
    for i in range(N):
        if arr[i] == scores[K-1]:
            for num in range(len(lis)):
                if lis[num] > i:
                    print('#{} {}'.format(tc, alp[num]))
                    break
cs
반응형