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

7071 : 재고 관리

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

7071 : 재고 관리

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

문제 설명

BFStudy 편의점 주인은 복잡한 재고를 직접 관리하기 위한 프로그램이 필요합니다.
다음 네 가지 명령을 처리하는 재고 관리 시스템을 구현하십시오.
- IN 품목 수량: 해당 품목을 지정된 수량만큼 입고합니다.
- OUT 품목 수량: 해당 품목을 지정된 수량만큼 출고합니다. 재고가 부족하면 INSUFFICIENT를 출력하고 재고는 변하지 않습니다.
- STOCK 품목: 해당 품목의 현재 재고 수량을 품목: 수량 형식으로 출력합니다. (등록되지 않은 품목은 0으로 처리)
- LIST: 현재 등록된 모든 품목과 재고를 품목명 오름차순으로 한 줄씩 출력합니다.

[제약 조건]
• 명령 수 $N$: $1 \le N \le 1{,}000$
• 품목명 길이: $\le 20$, 수량: $1 \le \text{수량} \le 10{,}000$

입력 설명

첫째 줄부터 N개의 줄에 위에서 정의된 명령이 한 줄에 하나씩 주어집니다. (1 ≤ N ≤ 1,000)
품목명은 영어 소문자로 이루어지며 최대 20자, 수량은 1 이상 10,000 이하의 정수입니다.

출력 설명

STOCK과 LIST 명령, 그리고 오류 발생 시 결과를 각각 한 줄씩 출력합니다.

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

IN apple 100
IN banana 50
OUT apple 30
STOCK apple
STOCK banana
LIST

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

apple: 70
banana: 50
apple: 70
banana: 50

도움

딕셔너리를 이용해 재고를 관리하고, LIST 명령 시 sorted(stock.items())로 사전순 정렬 출력이 가능합니다.
OUT 처리 시 딕셔너리에 키가 없는 경우(미등록 품목)도 재고 부족(INSUFFICIENT)으로 처리합니다.

출처/분류

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