관리 메뉴

솜씨좋은장씨

[SW Expert Academy] 1983번 : 조교의 성적 매기기 (Python) 본문

Programming/코딩 1일 1문제

[SW Expert Academy] 1983번 : 조교의 성적 매기기 (Python)

솜씨좋은장씨 2021. 11. 12. 00:08
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 SW Expert Academy의 조교의 성적 매기기 입니다.

 

SW Expert Academy

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

swexpertacademy.com

👨🏻‍💻 코드 ( Solution )

def assistant_grades(student_num, want_num, score_list):
    grade_list = ["A+", "A0", "A-", "B+", "B0", "B-", "C+", "C0", "C-", "D0"]
    
    each_grade_num = student_num // 10
    
    grade_check_dict, rank_dict = {}, {}
    for idx, score_info in enumerate(score_list):
        total_score = score_info[0] * 0.35 + score_info[1] * 0.45 + score_info[2] * 0.20
        
        grade_check_dict[idx + 1] = total_score
        
    sorted_score = sorted(grade_check_dict.items(), key=lambda x: -x[1])
    
    for idx, score in enumerate(sorted_score):
        rank_dict[score[0]] = idx
    
    return grade_list[rank_dict[want_num] // each_grade_num]


if __name__ "__main__":
    for idx in range(int(input())):
        student_num, want_num = map(int, input().split())
        score_list = []
        for _ in range(student_num):
            score1, score2, score3 = map(int, input().split())
            score_list.append([score1, score2, score3])
            
        print(f"#{idx} {assistant_grades(student_num, want_num, score_list)}")
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments