SWEA 1983. 조교의 성적 매기기(파이썬)

비만다람쥐·2024년 4월 28일
0
post-custom-banner

문제

문제바로가기

  1. 총점 = 중간고사(35%) + 기말고사 (45%) + 과제 (20%)
  2. 총점이 높은 순서대로 A+ A0 A- B+ B0 B- C+ C0 C- D0 가 주어진다.
  3. 각각의 평점은 같은 비율로 부여할 수 있다.
  4. N명의 학생들의 점수가 주어지고 학점을 알고싶은 K번째 학생의 번호가 주어졌을 때, k번째 학생의 학점을 출력하는 프로그램을 작성하라.

접근하기

1.처음에는 key값과 value 값이 있는 딕셔너리로 접근하였지만 문제가 풀리지 않았다
2.10개의 평점을 리스트로 두고 k학생이 받은 성적을 변수에 저장한다음
3.모든 학생의 성적을 내림차순으로 변경한다음
4.k학생의 성적의 인덱스를 출력하여
5.value = n//10 으로 나눠준값을 grades에서 출력한다

풀이

grades = ['A+','A0','A-','B+','B0','B-','C+','C0','C-','D0']

T = int(input())

for t in range(1,T+1):
    n,k = map(int,input().split())
    sarr = []

    for i in range(n):
        m_score,h_score,task = map(int,input().split())
        score = m_score * 0.35 + h_score * 0.45 + task * 0.2
        sarr.append(score)

    answer = sarr[k-1] 
    sarr.sort(reverse=True)
    rate = n//10
    result = sarr.index(answer) // rate

    print(f'#{t} {grades[result]}')
profile
개발자가 되고싶은 사람
post-custom-banner

0개의 댓글