아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

DVDs

면접 대비

시간 제한1초메모리 제한128 MB

요약
각 DVD 제목의 재고에 상한과 하한이 적용된 판매와 입고 거래를 차례로 적용한 뒤 최종 재고 수량을 출력한다.
난이도

쉬움10점 중 2점

유형
구현, 시뮬레이션, 배열, 문자열
정답자
아직 제출이 없습니다

문제

지역 회사 "DVDs R Us"의 재고 관리 시스템을 만들어야 한다. 이 회사는 지역 창고에서 DVD를 온라인으로 판매하며, 각 타이틀의 DVD가 현재 몇 개 재고로 남아 있는지 언제든 알 수 있어야 한다.

각 DVD 타이틀에는 재고 코드가 있으며 창고에서 일정한 보관 공간을 배정받는다. 인기가 많은 타이틀일수록 더 많은 공간을 배정받는다. DVD는 끊임없이 판매되고 다시 채워지므로, 각 타이틀의 재고 수량을 추적하는 시스템이 필요하다.

여러 타이틀의 초기 재고와 각 타이틀에 대한 판매·재입고 거래 목록이 주어질 때, 모든 거래를 처리한 뒤 각 타이틀의 최종 재고 수량을 구하라.

입력

입력은 여러 DVD 타이틀의 정보로 이루어진다. 한 타이틀의 정보는 다음과 같이 주어진다.

  • 첫 번째 줄에는 재고 코드가 주어진다. 재고 코드는 대문자와 숫자로만 이루어진 7자리 코드이다.
  • 두 번째 줄에는 공백으로 구분된 두 정수 MM과 SS가 주어진다. MM은 해당 타이틀을 한 번에 보관할 수 있는 최대 수량이고 (20≤M≤50020 \le M \le 500), SS는 현재 재고 수량이다 (0≤S≤M0 \le S \le M).
  • 세 번째 줄에는 정수 TT가 주어지며, 뒤따르는 거래의 개수이다 (0<T≤1000 < T \le 100).
  • 이어지는 TT개의 줄에는 각각 하나의 거래가 주어진다. 각 줄은 대문자 한 개(S 또는 R), 공백, 그리고 10001000 미만의 양의 정수로 이루어진다.
    • S는 판매를 뜻하며, 숫자는 판매된 DVD 수량이다. 판매 수량이 현재 재고보다 많으면 현재 재고만큼만 판매된다(재고는 00 미만이 될 수 없다).
    • R는 재입고를 뜻하며, 숫자는 추가되는 DVD 수량이다. 이로 인해 재고가 최대 수량 MM을 넘게 되면 초과분은 반품된다(재고는 MM을 넘을 수 없다).

입력의 끝은 재고 코드 자리에 # 하나만 있는 줄로 표시된다. 이 타이틀은 처리하지 않는다.

출력

각 DVD 타이틀에 대해 그 재고 코드, 공백 한 칸, 그리고 모든 거래를 처리한 뒤의 재고 수량을 출력한다.

예제3

  1. 예제 1

    입력
    HG67966
    100 64
    3
    S 10
    S 25
    R 30
    #
    
    예상 출력
    HG67966 59
    
  2. 예제 2

    입력
    ABC1234
    20 5
    1
    S 100
    #
    
    예상 출력
    ABC1234 0
    
  3. 예제 3

    입력
    XYZ7890
    50 40
    1
    R 100
    #
    
    예상 출력
    XYZ7890 50