연습문제
[한양대 HCPC 2023] Yeah, but How?
- 난이도
- Lv. 2
- 제출
- 497 명
- 참가자
- 256 명
- 정답률
- 55.90 %
- 지원 언어
-
C#CC++JavaPythonJavaScriptKotlinSwiftGoRust
로그인 후 문제풀이가 가능합니다.
언어별 시간/메모리
언어 | 시간 | 메모리 |
---|---|---|
JavaScript | 5초 | 1024MB |
Java | 3초 | 1024MB |
Python | 5초 | 1024MB |
Kotlin | 3초 | 1024MB |
C | 1초 | 1024MB |
C++ | 1초 | 1024MB |
Swift | 1초 | 1024MB |
C# | 3초 | 1024MB |
Go | 1초 | 1024MB |
Rust | 1초 | 1024MB |
(
와 )
로만 이루어진 문자열 가 아래 조건을 충족하면, 이를 균형 잡힌 괄호 문자열이라고 한다.
- 에
1
과+
를 원하는 위치에 적절히 추가해서 제대로 된 수식을 만들 수 있다. - 예로,
(()())
는 등의 수식을 만들 수 있으므로 균형 잡힌 괄호 문자열이다. - 하지만,
())(
는1
과+
를 어떻게 넣어도 제대로 된 수식을 만들어 낼 수 없으므로 균형 잡힌 괄호 문자열이 아니다.
- 예로,
여기서, 제대로 된 수식은 다음과 같이 정의된다.
- 은 제대로 된 수식이다.
- 과 가 제대로 된 수식이라면, 두 수식을 더하는 도 제대로 된 수식이다.
- 가 제대로 된 수식이라면, 수식에 괄호를 씌운 도 제대로 된 수식이다.
세훈이는 이 정의에 궁금증을 가지고, 균형 잡힌 괄호 문자열이 주어질 때 수식을 직접 만들어 보기로 했다.
제약조건
입력형식
첫 번째 줄에 균형 잡힌 괄호 문자열 가 주어진다.
출력형식
첫 번째 줄에 주어진 괄호 문자열로 만들 수 있는 수식 를 출력한다.출력되는 수식 는 다음 조건을 충족해야 한다.
- 수식의 길이는 이하여야 한다.
- 는 제대로 된 수식이어야 한다.
- 에서
(
와)
만 남기면 가 만들어져야 한다. - 는
(
,)
,1
,+
로만 이루어져야 한다. 특히, 수식의 중간에 공백 등의 문자가 들어가면 안 된다.
입력 조건 내에서, 위 조건을 충족하는 수식을 만들 수 있음을 증명할 수 있다.
가능한 수식이 여러 가지인 경우, 그중 아무거나 하나를 출력한다.
입력예제1
(()())
출력예제1
((1+1)+(1)+1)
입력예제2
()()()
출력예제2
(1)+(1)+(1)