욤미의 개발일지
[SWEA D2] 1983 조교의 성적 매기기 (Python) 본문
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
반응형
'Coding Test > SWEA' 카테고리의 다른 글
[SWEA D2] 1986 지그재그 숫자 (Python) (0) | 2023.02.15 |
---|---|
[SWEA D2] 1984 중간 평균값 구하기 (Python) (0) | 2023.02.14 |
[SWEA D2] 1979 어디에 단어가 들어갈 수 있을까 (Python) (0) | 2023.02.11 |
[SWEA D2] 1976 시각 덧셈 (Python) (0) | 2023.02.11 |
[SWEA D2] 1970 쉬운 거스름돈 (Python) (0) | 2023.02.07 |
Comments