항구 로봇
면접 대비시간 제한10초메모리 제한1024 MB
소문자는 컨테이너를 보관하고 대문자는 꺼내는 로그가 주어졌을 때, 꺼낼 때마다 맨 위 컨테이너가 나오며 마지막에 보관소가 비는지 판별합니다.
문제
당신은 항구에 도착한 컨테이너를 배에 싣기 전에 보관하는 로봇을 개발하고 있습니다. 로봇은 제한된 공간에서 이 컨테이너들을 다룹니다. 이 공간에는 그림과 같이 컨테이너를 옆으로 나란히 놓지 않고 여러 개를 위아래로 쌓아 둘 수 있습니다.
로봇은 동작 중에 다음 두 가지 작업을 수행합니다.
- 컨테이너를 보관한다.
- 보관된 컨테이너를 꺼낸다.
이 항구에서는 26종류의 컨테이너를 사용하며, 각 종류는 라틴 알파벳 한 글자로 구분합니다. 로봇은 작업을 수행할 때마다 컨테이너 종류를 기록합니다. 보관할 때는 소문자로, 꺼낼 때는 대문자로 기록합니다. 여러분의 과제는 로봇의 기록이 안정적인 동작을 나타내는지 확인하는 것입니다. 안정적인 동작에서는 꺼내는 컨테이너(작업 2)가 반드시 보관소에 있어야 하고, 가장 위에 있어야 합니다. 또한 안정적인 동작은 보관소가 비어 있는 상태로 끝나야 합니다.

예를 들어 기록 'cdDC'를 봅시다. 로봇이 'c'를 보관한 뒤 'd'를 보관하므로 'd'가 위에 있습니다. 로봇은 처음 나온 'd'를 꺼내고, 이어서 'c'를 꺼냅니다. 이 기록은 안정적입니다. 반면 기록 'cdCD'는 'd'를 꺼내기 전에 'c'를 꺼낼 수 없으므로 불안정합니다.
입력
첫 번째 줄에는 로봇이 생성한 기록의 길이가 주어집니다. 두 번째 줄에는 로봇 작업의 기록이 주어집니다.
출력
기록이 잘못된 동작을 나타내면 0을, 안정적인 동작이면 1을 출력합니다.