문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

7070 : 성적 처리 프로그램

•시간제한: 1.000 S •메모리제한: 256 MB •제출: 0 •통과: 0 •만든사람: suakii

7070 : 성적 처리 프로그램

시간 1.000s · 메모리 256MB · 제출 0 · 정답 0

문제 설명

BFStudy 학교의 담임 선생님은 학기말마다 학생들의 성적을 정리하는 데 어려움을 겪고 있습니다.
국어, 영어, 수학 세 과목의 점수를 입력받아 다음을 계산하는 성적 처리 프로그램을 작성하십시오.
- 과목별 전체 평균 (소수점 둘째 자리까지)
- 각 학생의 종합 평균(세 과목 평균)을 기준으로 내림차순 정렬한 순위표
- 종합 평균에 따른 등급: 90점 이상=A, 80점 이상=B, 70점 이상=C, 60점 이상=D, 나머지=F
- 동점인 경우 이름의 오름차순(사전순)으로 정렬

[제약 조건]
• 학생 수 $N$: $1 \le N \le 100$
• 이름 길이: $\le 20$, 각 과목 점수: $0 \le \text{점수} \le 100$

입력 설명

첫째 줄에 학생 수 N이 주어집니다. (1 ≤ N ≤ 100)
이후 N개의 줄에 걸쳐 이름 국어점수 영어점수 수학점수가 공백으로 구분되어 주어집니다.
이름은 영어 대소문자로 이루어지며 최대 20자입니다. 각 과목 점수는 0 이상 100 이하의 정수입니다.

출력 설명

첫째 줄에 국어: X.XX 영어: X.XX 수학: X.XX 형식으로 과목별 전체 평균을 출력합니다.
이후 N개의 줄에 걸쳐 순위 이름 평균 등급 형식으로 종합 평균 내림차순으로 출력합니다.
평균은 소수점 둘째 자리까지 출력합니다.

입력 예시
COPY
복사되었습니다!

3
Alice 90 85 92
Bob 78 82 80
Chris 95 90 88

출력 예시
COPY
복사되었습니다!

국어: 87.67 영어: 85.67 수학: 86.67
1 Chris 91.00 A
2 Alice 89.00 B
3 Bob 80.00 B

도움

sorted(students, key=lambda s: (-s['avg'], s['name']))처럼 다중 키 정렬을 활용하면 동점 처리가 간편합니다.
등급 구분은 if avg >= 90: grade = 'A' 형태의 순차 조건문으로 구현하십시오.

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘