문제 3656 · 비트 II
편의점 분류별 확정 매출
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 편의점의 데이터 담당자가 하루 동안 저장된 거래 표에서 특정 상품 분류의 판매 실적을 확인하려 한다. 거래 표는 쉼표로 열을 구분하는 CSV 형식으로 제공된다. 각 데이터 행에는 상품 분류, 수량, 개당 가격, 처리 상태가 이 순서대로 들어 있다. 한 행에는 한 종류의 상품에 대한 거래 정보만 기록된다. 상품 분류는 FOOD, DRINK, HOUSE 중 하나이다. 처리 상태는 판매가 확정된 거래를 뜻하는 DONE과 판매가 취소된 거래를 뜻하는 CANCEL 중 하나이다. 취소된 거래도 원래 입력되었던 수량과 개당 가격을 가지고 있지만, 판매 실적을 계산할 때는 수량과 금액을 모두 제외한다. 취소된 거래를 음수로 계산하거나 다른 행에서 빼지는 않는다. 담당자는 집계 대상 분류 하나를 지정한다. 표의 모든 데이터 행 중 상품 분류가 집계 대상과 같고 처리 상태가 DONE인 행만 집계한다. 집계할 행의 판매 수량은 그 행의 수량이며, 판매 금액은 수량에 개당 가격을 곱한 값이다. 최종 판매 수량과 최종 판매 금액은 각각 집계할 모든 행의 값을 더해서 구한다. 동일한 내용의 행이 여러 번 나타날 수 있다. 이 행들은 각각 별개의 거래이므로 조건을 만족하면 모두 더해야 한다. 또한 같은 상품 분류라도 행마다 개당 가격이 다를 수 있으므로 각 행에 기록된 가격을 사용한다. 세금, 할인, 수수료 등 추가 계산은 하지 않는다. CSV에는 열 이름을 나타내는 머리글 한 줄이 있으며 머리글은 거래가 아니다. 각 필드에는 쉼표, 따옴표, 공백이 들어 있지 않다. 따라서 데이터 행은 쉼표를 기준으로 네 필드로 나눌 수 있다. 주어진 집계 대상 분류의 최종 판매 수량과 최종 판매 금액을 구한다. 집계할 행이 하나도 없으면 두 값 모두 0으로 처리한다.
입력
첫째 줄에 데이터 행의 수 N이 주어진다. N은 1 이상 1,000 이하의 정수이다. 둘째 줄에 집계 대상 분류가 주어지며 FOOD, DRINK, HOUSE 중 하나이다. 셋째 줄은 정확히 category,quantity,unit_price,status이다. 다음 N개 줄에 데이터 행이 category,quantity,unit_price,status 순서로 주어진다. category는 FOOD, DRINK, HOUSE 중 하나이고, quantity는 1 이상 1,000 이하의 정수이며, unit_price는 1 이상 10,000 이하의 정수이다. status는 DONE 또는 CANCEL이다. 각 데이터 행은 필드 사이의 쉼표 외에 공백을 포함하지 않는다.
출력
집계 대상 분류의 최종 판매 수량과 최종 판매 금액을 공백으로 구분하여 한 줄에 출력한다. 두 값은 정수이며, 금액에 자릿수 구분 기호나 통화 기호를 붙이지 않는다.
예제 입력 1
5 DRINK category,quantity,unit_price,status DRINK,3,1200,DONE FOOD,2,2500,DONE DRINK,4,900,CANCEL DRINK,2,1500,DONE HOUSE,1,3000,DONE
예제 출력 1
5 6600
예제 입력 2
3 HOUSE category,quantity,unit_price,status HOUSE,2,4000,CANCEL FOOD,1,1800,DONE DRINK,3,1000,DONE
예제 출력 2
0 0
예제 입력 3
3 FOOD category,quantity,unit_price,status FOOD,2,700,DONE FOOD,2,700,DONE FOOD,1,900,DONE
예제 출력 3
5 3700
힌트 펼치기
- 분류와 상태가 모두 조건을 만족하는 행에서만 수량과 수량×개당 가격을 더한다.
알고리즘 분류
CSV집계구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |