거울 괄호
면접 대비시간 제한1초메모리 제한1024 MB
괄호와 거울상 문자로 이루어진 문자열 z에 반사 연산을 적용해 괄호가 모두 사라졌을 때의 최종 문자열을 구합니다.
문제
올바른 괄호 문자열(CBS)의 정의를 다시 짚어 보자.
- 빈 문자열은 CBS이다.
- 가 CBS이면
()와[]도 CBS이다. - 와 가 CBS이면 도 CBS이다.
- 위 규칙으로 만들 수 없는 문자열은 CBS가 아니다.
Vasya는 "(", ")", "[", "]" 네 종류의 괄호로 이루어진 올바른 괄호 문자열을 썼다. 그 뒤 여러 위치에 "b", "d", "o", "p", "q", "x" 문자를 끼워 넣어 문자열 를 만들었다.
Vasya는 다음 연산을 반복한다.
에 () 형태의 부분 문자열(에는 괄호가 없다)이 있으면, 이를 를 세로축에 대해 뒤집은 문자열로 바꾼다. 에 [] 형태의 부분 문자열(에도 괄호가 없다)이 있으면, 이를 를 가로축에 대해 뒤집은 문자열로 바꾼다. 예를 들어 "(qbpoxd)"는 "bxoqdp"로, "[qbpoxd]"는 "dpboxq"로 바뀐다.
문자열에 괄호가 남지 않을 때까지 연산을 계속한다. 주어진 에 대해 Vasya가 최종적으로 얻는 문자열을 구하라.
입력
첫 번째 줄에 문자열 가 주어진다. 의 길이는 을 넘지 않는다. 는 "(", ")", "[", "]", "b", "d", "o", "p", "q", "x" 문자로 이루어진다. 의 괄호는 올바른 괄호 문자열을 이룬다고 보장된다. 또한 입력에는 적어도 하나의 문자가 포함된다고 보장된다.
출력
Vasya가 최종적으로 얻는 문자열을 출력한다.