| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 494 | 310 | 267 | 67.085% |
(와 )로만 이루어진 문자열 $S$가 아래 조건을 충족하면, 이를 균형 잡힌 괄호 문자열이라고 한다.
1과 +를 원하는 위치에 적절히 추가해서 제대로 된 수식을 만들 수 있다.
(()())는 $((1+1)+(1)+1)$ 등의 수식을 만들 수 있으므로 균형 잡힌 괄호 문자열이다.())(는 1과 +를 어떻게 넣어도 제대로 된 수식을 만들어 낼 수 없으므로 균형 잡힌 괄호 문자열이 아니다.여기서, 제대로 된 수식은 다음과 같이 정의된다.
세훈이는 이 정의에 궁금증을 가지고, 균형 잡힌 괄호 문자열이 주어질 때 수식을 직접 만들어 보기로 했다.
첫 번째 줄에 균형 잡힌 괄호 문자열 $S$가 주어진다. $(2\le\lvert S\rvert\le 200\, 000)$
첫 번째 줄에 주어진 괄호 문자열로 만들 수 있는 수식 $T$를 출력한다.출력되는 수식 $T$는 다음 조건을 충족해야 한다.
(와 )만 남기면 $S$가 만들어져야 한다.(, ), 1, +로만 이루어져야 한다. 특히, 수식의 중간에 공백 등의 문자가 들어가면 안 된다.입력 조건 내에서, 위 조건을 충족하는 수식을 만들 수 있음을 증명할 수 있다.
가능한 수식이 여러 가지인 경우, 그중 아무거나 하나를 출력한다.
(()())
((1+1)+(1)+1)