주차장

면접 대비

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

요약
정원 S대 중 C대가 주차된 상태에서 입차(I)와 출차(O) 신호를 순서대로 처리하고, 빈 주차장에서 출차가 나오면 error를 출력한다.
난이도

쉬움10점 중 3점

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

문제

어느 주차장을 위한 관리 시스템을 만들어 주세요. 이 주차장은 주차 공간의 개수가 정해져 있으며, 진입하는 운전자에게 현재 이용할 수 있는 공간이 몇 개인지 알려 주고, 주차장이 가득 차면 입구 차단기가 열리지 않도록 막고자 합니다.

각 주차장(시나리오)에 대해, 처음에 주차되어 있던 자동차 수와 입구·출구 차단기에서 들어온 입·출차 신호 문자열이 주어집니다. 이 신호를 순서대로 처리한 뒤, 각 시나리오가 끝난 시점에 주차장에 남아 있는 자동차 수를 구하세요.

입력

입력은 여러 개의 시나리오로 이루어지며, 각 시나리오는 서로 다른 주차장 하나를 나타냅니다.

각 시나리오의 첫 번째 줄에는 두 정수 SS와 CC가 주어집니다 (10≤S≤50010 \le S \le 500, 0≤C≤S0 \le C \le S). SS는 주차장 전체의 주차 공간 수이고, CC는 현재 주차되어 있는 자동차 수입니다.

각 시나리오의 두 번째 줄에는 대문자 I 또는 O로만 이루어진 길이 최대 255255의 문자열이 주어집니다. 이 문자열은 입구·출구 차단기에서 들어온 신호의 흐름을 나타냅니다.

  • I는 자동차 한 대가 주차장에 들어오려고 시도했음을 뜻합니다. 주차장이 가득 차 있지 않다면 그 차는 들어와서 대수에 포함됩니다. 모든 공간이 차 있다면 그 차는 입장이 거부되어 대수에 포함되지 않습니다(그 차는 나중에 다시 시도할 수 있습니다).
  • O는 자동차 한 대가 주차장에서 나갔음을 뜻합니다.

주차장에 자동차가 한 대도 없을 때 신호 흐름에 O가 나타나면, 그 지점에서 오류가 발생한 것이며 해당 시나리오의 처리를 즉시 멈춥니다.

마지막 시나리오는 0 0이며, 이 시나리오는 처리하지 않습니다.

출력

각 시나리오마다 한 줄을 출력합니다. 신호 흐름에 오류가 있었다면 그 줄에는 error라는 단어만 출력합니다. 그렇지 않다면 시나리오가 끝난 시점에 주차장에 남아 있는 자동차 수를 정수 하나로 출력합니다.

예제1

  1. 예제 1

    입력
    50 12
    IIOIOOIOIIIOOIOIOOII
    25 3
    IOOIOOOOIIO
    0 0
    
    예상 출력
    14
    error