욤미의 개발일지

[SWEA D2] 1983 조교의 성적 매기기 (Python) 본문

Coding Test/SWEA

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

욤미 2023. 2. 14. 16:39
728x90
반응형

※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.

문제

 

SW Expert Academy

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

swexpertacademy.com

  • 학점은 상대평가로 주어지는데, 총 10개의 평점이 주어진다.
  • A+ A0 A- B+ B0 B- C+ C0 C- D0
  • 총점 = 중간고사(35%) + 기말고사(45%) + 과제(20%)
  • 10 개의 평점을 총점이 높은 순서대로 부여한다.
  • N 명의 학생이 있을 경우 N/10 명의 학생들에게 동일한 평점을 부여할 수 있다.
  • K 번째 학생의 학점을 출력하는 프로그램을 작성하라.

풀이

T = int(input())
for test_case in range(1, T + 1):
    n, k = map(int, input().split())
    scores = []
    grade = ['A+', 'A0', 'A-', 'B+', 'B0', 'B-', 'C+', 'C0', 'C-', 'D0']
    for _ in range(n):
        mid, fin, home = map(int, input().split())
        score = mid * 0.35 + fin * 0.45 + home * 0.2
        scores.append(score)
        
    k_score = scores[k-1] # k번째 학생의 점수
    scores.sort(reverse=True) # 내림차순 정렬
    idx = scores.index(k_score)//(n//10) # k번째 학생의 학점 인덱스
    print(f"#{test_case} {grade[idx]}")
728x90
반응형
Comments