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

문제 3189 · 비트 IV

카페의 메뉴 매출표

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

문제

한 카페의 데이터 담당자가 판매 기록에서 특정 메뉴의 매출을 계산하려 한다. 카페에서는 메뉴마다 1부터 5까지의 서로 다른 번호를 사용한다. 담당자는 메뉴 이름 대신 이 번호를 기준으로 기록을 모으며, 이번 작업에서는 입력으로 지정한 메뉴 번호 K에 해당하는 매출만 계산한다. 판매 기록은 CSV 형식의 표로 전달된다. 표의 첫 줄은 열 이름을 나타내는 머리글이며, 그 뒤의 각 줄은 하나의 판매 항목이다. 각 항목에는 메뉴 번호, 수량, 개당 판매 가격, 처리 상태가 차례대로 기록되어 있다. 네 값 사이에는 쉼표가 하나씩 들어간다. 메뉴 번호와 수량, 가격, 상태는 모두 정수이고, 값에 따옴표나 공백이 포함되는 경우는 없다. 따라서 이 문제에서는 쉼표를 기준으로 각 줄을 나누면 네 값을 얻을 수 있다. 처리 상태가 1이면 결제가 완료된 항목이고, 0이면 취소된 항목이다. 취소된 항목은 수량이나 가격에 관계없이 매출에 포함하지 않는다. 결제가 완료되었더라도 메뉴 번호가 K와 다르면 이번 집계에서 제외한다. 집계에 포함하는 항목의 매출은 그 항목의 수량과 개당 판매 가격을 곱한 값이다. 가격은 각 항목에 실제로 적용된 금액이므로, 같은 메뉴라도 항목마다 가격이 다를 수 있다. 표에 적힌 항목은 각각 독립적인 기록이다. 네 값이 모두 같은 줄이 여러 번 나타나더라도 각 줄의 매출을 따로 더해야 한다. 또한 가격이 0인 항목도 정상적인 기록이며, 이 항목의 매출은 0이다. 별도의 할인 계산이나 세금 계산은 하지 않는다. 주어진 표를 읽고, 지정한 메뉴의 결제 완료 항목에서 발생한 매출의 합계를 구하는 프로그램을 작성한다.

입력

첫째 줄에 판매 항목의 개수 N과 집계할 메뉴 번호 K가 공백으로 구분되어 주어진다. 둘째 줄에는 정확히 menu_id,quantity,unit_price,status가 주어진다. 다음 N개의 줄에는 메뉴 번호 M, 수량 Q, 개당 판매 가격 P, 처리 상태 S가 이 순서대로 쉼표로 구분되어 주어진다. 모든 수치 값은 정수이며, 1 ≤ N ≤ 1,000, 1 ≤ K, M ≤ 5, 1 ≤ Q ≤ 20, 0 ≤ P ≤ 10,000, S ∈ {0, 1}이다. CSV 줄에는 공백, 따옴표, 빈 필드가 없다.

출력

메뉴 번호가 K이고 처리 상태가 1인 모든 항목의 매출 합계를 정수 하나로 출력한다. 금액의 단위는 원이며 단위나 자릿수 구분 기호는 출력하지 않는다. 해당 항목이 없거나 합계가 0이면 0을 출력한다.

예제 입력 1

5 2
menu_id,quantity,unit_price,status
2,3,4200,1
1,2,3000,1
2,1,4200,0
2,2,4000,1
2,1,0,1

예제 출력 1

20600

예제 입력 2

3 4
menu_id,quantity,unit_price,status
4,2,5000,0
1,1,3500,1
5,3,2000,1

예제 출력 2

0

예제 입력 3

2 3
menu_id,quantity,unit_price,status
3,2,2500,1
3,2,2500,1

예제 출력 3

10000
힌트 펼치기
  • 머리글을 건너뛴 뒤, 각 행의 메뉴 번호와 처리 상태를 확인한다.

출처: 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 / 테스트측정하지 않음(브라우저 채점)