답안지 채점표 만들기
시험의 정답 문자열 K가 주어진다.
문항은 1번부터 L번까지이고(L은 K의 길이), K의 i번째 글자가 i번 문항의 정답이다.
학생 n명의 답안이 주어진다.
답안은 A ~ E와 .(건너뜀)으로 된 문자열이고, 길이는 1 이상 L 이하다.
답안이 L보다 짧으면 모자란 뒤쪽 문항은 건너뛴 것으로 친다.
맞으면 3점, 틀리면 -1점, 건너뛰면 0점이다.
반복문 대신 목록 내포·생성기 식과 zip 계열·enumerate·sorted·itertools.groupby 같은 내장 도구로 다음을 만들어 출력하라.
1) 학생마다 입력 순서대로 "이름 점수 맞은수 틀린수 건너뛴수"를 한 줄씩 출력한다.
2) 점수가 같은 학생끼리 묶어, 점수가 높은 묶음부터 "점수 이름1 이름2 ..."를 한 줄씩 출력한다.
한 묶음 안의 이름은 입력 순서대로 적는다.
3) 틀린 학생이 가장 많은 문항의 번호를 작은 번호부터 한 줄에 빈칸으로 띄워 출력한다.
아무도 틀린 문항이 없으면 -를 출력한다.
- 입력
- 첫 줄에 K(영어 대문자 A ~ E, 1 ≤ L ≤ 100).
둘째 줄에 n(1 ≤ n ≤ 1000).
다음 n줄에 "이름 답안".
이름은 영어 소문자와 숫자 1 ~ 10글자이고 서로 다르다. - 출력
- 1) n줄, 2) 서로 다른 점수의 수만큼의 줄, 3) 한 줄
ABCDE 4 mina ABCDD joon AB sora .BCEA ted EBC
mina 11 4 1 0 joon 6 2 0 3 sora 4 2 2 1 ted 5 2 1 2 11 mina 6 joon 5 ted 4 sora 5
CAB 3 amy CAB bo C.B cy CAB
amy 9 3 0 0 bo 6 2 0 1 cy 9 3 0 0 9 amy cy 6 bo -