벌점 (DemeritPoints)
면접 대비시간 제한0.1초메모리 제한32 MB
36진수 문자열로 된 징계 점수를 순서대로 처리하며 누적 점수와 10의 몫이 넘는 순간을 추적하고 징계 주수와 무기정학 표시를 출력한다.
문제
설곽인들은 벌점, 주로 의행관 벌점을 받으며 살아가고 때때로 기숙사 생활의 꽃인 퇴사를 하기도 한다. 벌점을 받을 때마다 벌점 감량 프로그램을 할 수도 있지만, 4층 선배님의 방에서 재침을 하고 조회는 물론 1교시 물리 수업을 무단 결과하는 등 벌점을 한 번에 많이 받는 행동을 하면 벌점이 10점을 넘어 퇴사를 당한다. 비록 그자가 수석이라 할지라도!
설곽인들은 잘 알고 있겠지만 설곽의 벌점과 퇴사 규칙은 다음과 같다.
- 벌점 X점을 받으면 누적 벌점에 X점이 추가된다.
- X점이 추가되어서 누적 벌점을 10으로 나눈 몫이 증가한 경우 퇴사를 당한다. 이 몫이 1, 2, 3인 경우 1, 2, 3주 퇴사, 4인 경우 무기 퇴사, 4보다 큰 경우 영구 퇴사를 당한다.
- 무기 퇴사나 영구 퇴사를 당하면 의행관에 다시 들어올 수 없고 벌점도 더 받을 수 없다.
이제 입력된 데이터로 벌점의 주인이 총 몇 주 동안 퇴사를 당하는지 주 단위로 계산해 보자. 단, 퇴사 기간 동안에는 벌점을 받지 않고, 퇴사가 끝난 이후 다시 벌점을 받기 시작한다고 가정한다.
참고로 0~9의 아스키 코드는 48~57이고, A~Z의 아스키 코드값은 65~90이다.
입력
첫 줄에 퇴사 기간을 계산해야 하는 학생의 수 N (N ≤ 20) 이 주어진다.
두 번째 줄부터 N개의 줄에 걸쳐 각 학생의 정보가 주어진다. 한 줄에 한 학생이 순서대로 받은 벌점이 공백 없는 문자열로 주어진다. 0점부터 9점까지의 벌점은 숫자 0 ~ 9로, 10점부터 35점까지의 벌점은 A ~ Z의 알파벳 대문자로 주어진다. 이 문자열의 길이는 30을 넘지 않는다.
가령, 입력으로 B1A4가 주어진다면 11점, 1점, 10점, 4점의 순서로 벌점을 받은 것이다.
출력
각각의 학생들이 퇴사해 있는 총 기간을 주 단위로 한 줄에 한 명씩 출력하자.
무기 퇴사나 영구 퇴사를 당한 경우 퇴사 기간을 출력하고, 그 뒤에 무기 퇴사의 경우 (weapon)을, 영구 퇴사의 경우 (09)를 공백 없이, 괄호를 포함하여 추가로 출력하고 이는 퇴사 기간에 포함하지 않는다.