문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

7080 : 장바구니 시스템

•시간제한: 1.000 S •메모리제한: 256 MB •제출: 0 •통과: 0 •만든사람: suakii

7080 : 장바구니 시스템

시간 1.000s · 메모리 256MB · 제출 0 · 정답 0

문제 설명

BFStudy 쇼핑몰의 장바구니 시스템을 구현합니다.
상품 목록(이름, 가격, 재고)이 먼저 주어지고, 이후 다음 명령을 처리하십시오.
- ADD 장바구니ID 상품명 수량: 장바구니에 상품을 추가합니다. 재고 부족 시 OUT_OF_STOCK, 없는 상품은 NO_ITEM 출력. 재고는 ADD 시 즉시 차감됩니다.
- REMOVE 장바구니ID 상품명: 장바구니에서 상품을 제거합니다. (재고 복구)
- TOTAL 장바구니ID [쿠폰코드]: 총 금액을 출력합니다. 쿠폰 SALE10=10% 할인, SALE20=20% 할인. 빈 장바구니는 0 출력.

[제약 조건]
• 상품 수 $K$: $1 \le K \le 100$
• 명령 수 $N$: $1 \le N \le 1{,}000$

입력 설명

첫째 줄에 상품 수 K가 주어집니다. (1 ≤ K ≤ 100)
이후 K개의 줄에 상품명 가격 재고가 주어집니다.
다음 줄부터 N개의 명령이 주어집니다. (1 ≤ N ≤ 1,000)

출력 설명

TOTAL 명령의 결과와 오류 메시지를 각각 한 줄씩 출력합니다.

입력 예시
COPY
복사되었습니다!

3
apple 1000 100
banana 500 50
cherry 2000 30
ADD cart1 apple 3
ADD cart1 banana 2
TOTAL cart1

출력 예시
COPY
복사되었습니다!

4000

도움

장바구니는 딕셔너리의 딕셔너리(중첩 딕셔너리)로 구현하면 편리합니다: carts[cart_id][item] = qty
TOTAL 계산 시 쿠폰 코드에 따라 할인율을 곱한 후 round() 함수로 반올림하십시오.

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘