본문으로 이동
코드패스 by Devin.KR

문제 4136 · 바이트 III

세탁 접수 기록 정제

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

한 세탁소는 여러 접수 단말에서 모은 기록을 분석용 데이터로 정리한다. 한 줄의 기록에는 접수 번호, 세탁 방식, 무게가 순서대로 들어 있다. 단말의 입력 오류 때문에 일부 항목이 잘못되어 있을 수 있고, 같은 접수 건을 수정하여 다시 보낸 기록도 섞여 있다. 데이터 담당자는 아래 규칙으로 기록을 검증한 뒤 최종 집계를 만들어야 한다. 접수 번호는 길이가 정확히 4인 숫자 문자열이어야 하며 첫 글자는 0일 수 없다. 예를 들어 2407은 올바르지만 0247과 24A7은 올바르지 않다. 세탁 방식은 일반 세탁을 뜻하는 대문자 N 또는 섬세 세탁을 뜻하는 대문자 D 중 하나여야 한다. 다른 문자나 소문자는 허용되지 않는다. 무게는 그램 단위의 정수를 나타내는 문자열이다. 숫자로만 이루어져야 하고, 첫 글자가 0이면 안 되며, 정수 값이 1 이상 999 이하여야 한다. 따라서 8과 320은 올바르고, 0과 008과 1000은 올바르지 않다. 세 항목이 모두 조건을 만족하는 기록만 유효하다. 어느 한 항목이라도 잘못되면 그 줄 전체를 버린다. 입력의 위쪽 줄이 먼저 도착한 기록이다. 같은 접수 번호의 유효한 기록이 여러 개라면 가장 아래쪽에 있는 유효한 기록 하나만 최종 기록으로 남긴다. 뒤에 도착한 잘못된 기록은 앞서 남긴 유효한 기록을 삭제하거나 수정하지 않는다. 세탁 방식이 바뀐 수정 기록도 이 규칙에 따라 처리한다. 정제를 마친 뒤에는 최종 기록만 이용하여 방식별 접수 건수와 무게 합계를 구한다. 무게가 같아도 접수 번호가 다르면 서로 다른 건이다. 특정 방식의 최종 기록이 없으면 그 방식의 건수와 무게 합계는 모두 0이다. 유효한 기록이 하나도 없는 입력도 주어질 수 있다.

입력

첫째 줄에 기록 수 N이 주어진다. N은 1≤N≤100000인 정수이다.
다음 N개 줄에 접수 번호 토큰, 세탁 방식 토큰, 무게 토큰이 공백으로 주어진다. 각 토큰은 길이 1 이상 5 이하이며 영문 대문자, 영문 소문자, 숫자로만 이루어진다. 각 줄에는 정확히 세 토큰이 있다. 토큰이 검증 규칙을 만족한다는 보장은 없다.

출력

첫째 줄에 N, 일반 세탁의 최종 접수 건수, 일반 세탁의 무게 합계를 공백으로 구분하여 출력한다. 여기서 N은 세탁 방식을 나타내는 문자이다. 둘째 줄에 D, 섬세 세탁의 최종 접수 건수, 섬세 세탁의 무게 합계를 같은 형식으로 출력한다. 건수와 합계는 정수로 출력한다.

예제 입력 1

6
2407 N 120
8012 D 300
2407 D 90
2407 N 008
0247 N 50
8012 N 200

예제 출력 1

N 1 200
D 1 90

예제 입력 2

4
0000 N 10
1234 X 20
4567 D 1000
9876 N 0

예제 출력 2

N 0 0
D 0 0

예제 입력 3

3
1111 N 1
1111 N 1
2222 D 999

예제 출력 3

N 1 1
D 1 999
힌트 펼치기
  • 검증에 통과한 줄만 접수 번호별 저장값을 갱신한다.
  • 모든 갱신이 끝난 뒤 남아 있는 기록을 집계하면 방식 변경을 쉽게 처리할 수 있다.

출처: Devin.KR 자체 제작

알고리즘 분류문자열구현해시

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)