주차장
면접 대비시간 제한1초메모리 제한128 MB
정원 S대 중 C대가 주차된 상태에서 입차(I)와 출차(O) 신호를 순서대로 처리하고, 빈 주차장에서 출차가 나오면 error를 출력한다.
문제
어느 주차장을 위한 관리 시스템을 만들어 주세요. 이 주차장은 주차 공간의 개수가 정해져 있으며, 진입하는 운전자에게 현재 이용할 수 있는 공간이 몇 개인지 알려 주고, 주차장이 가득 차면 입구 차단기가 열리지 않도록 막고자 합니다.
각 주차장(시나리오)에 대해, 처음에 주차되어 있던 자동차 수와 입구·출구 차단기에서 들어온 입·출차 신호 문자열이 주어집니다. 이 신호를 순서대로 처리한 뒤, 각 시나리오가 끝난 시점에 주차장에 남아 있는 자동차 수를 구하세요.
입력
입력은 여러 개의 시나리오로 이루어지며, 각 시나리오는 서로 다른 주차장 하나를 나타냅니다.
각 시나리오의 첫 번째 줄에는 두 정수 와 가 주어집니다 (, ). 는 주차장 전체의 주차 공간 수이고, 는 현재 주차되어 있는 자동차 수입니다.
각 시나리오의 두 번째 줄에는 대문자 I 또는 O로만 이루어진 길이 최대 의 문자열이 주어집니다. 이 문자열은 입구·출구 차단기에서 들어온 신호의 흐름을 나타냅니다.
I는 자동차 한 대가 주차장에 들어오려고 시도했음을 뜻합니다. 주차장이 가득 차 있지 않다면 그 차는 들어와서 대수에 포함됩니다. 모든 공간이 차 있다면 그 차는 입장이 거부되어 대수에 포함되지 않습니다(그 차는 나중에 다시 시도할 수 있습니다).O는 자동차 한 대가 주차장에서 나갔음을 뜻합니다.
주차장에 자동차가 한 대도 없을 때 신호 흐름에 O가 나타나면, 그 지점에서 오류가 발생한 것이며 해당 시나리오의 처리를 즉시 멈춥니다.
마지막 시나리오는 0 0이며, 이 시나리오는 처리하지 않습니다.
출력
각 시나리오마다 한 줄을 출력합니다. 신호 흐름에 오류가 있었다면 그 줄에는 error라는 단어만 출력합니다. 그렇지 않다면 시나리오가 끝난 시점에 주차장에 남아 있는 자동차 수를 정수 하나로 출력합니다.