괄호의 제거 > 문제은행



1745 : 괄호의 제거

제한시간
1000 ms   
메모리제한
128 MB   
해결횟수
6 회   
시도횟수
38 회   

문제

당신은 수학시간에 괄호의 사용법에 대해서 배운 적이 있다. 

만약 어떤 식이 (1+2)*2라고 적혀있다면 이 결과는 6일 것이고, 1+(2*2)라고 적혀있다면 이 결과는 5가 될 것이다. 

괄호의역할은 우선순위를 정하는 것이다. 문자로 적혀있어도 괄호의 역할은 같다. 

즉, 모든 실수 a, b, c에 대해서, (a+b)*c는 a+(b*c)와 다르다. 또한, 당신은 수학시간에 괄호를 생략해도 되는 경우에 대해서 배웠다. 

a+(b*c)는 괄호를 생략하여 다음과 같이 써도 모든 실수 a, b, c에 대해서, 같은 결과를 가지게 된다. 

a+b*c 이는 곱하기의 우선순위가 더하기보다 높기 때문이다.

입력으로 들어오는 연산자는 4가지이다. (+, -, *, /) , 각각 사칙연산의 덧셈 뺄셈 곱셈 나눗셈을 뜻하며, 

+와 -는 우선순위가 같고, *와 /는 서로 우선순위가 같다. 또한 +, -는 *, /보다 우선순위가 낮다.

+, -끼리는, 우선순위가 같으므로 왼쪽부터 차례대로 계산한다. 

이제 당신이 해야 할 일은 주어진 수식에서 괄호를 제거할 수 있는 경우, 모든 괄호를 제거하는 것이다. 

물론, 괄호를 제거해서 다른 결과가 나오면 안 된다. 

괄호를 제거할 수 없는 경우는 입력받은 결과를 그대로 출력한다. 제한시간은 2초이다.


입력형식

첫째 줄에 수식이 하나 주어진다. 문자는 알파벳 소문자(a~z)만이 쓰이며, 한 글자이다. 괄호는 (,)만이 쓰이고, 연산자는 +, -, *, /만이 쓰인다. 문자와 괄호, 연산자 사이에는 하나 이상의 공백이 있다. 문장의 총 길이는 200자 이하이다. 입력되는 알파벳은 연속적이 아닐 수 있다.


출력형식

입력형식과 같은 형식이되 필요 없는 괄호만 “모두” 제거하여 출력한다.


입력 예

7
a + ( b * c )

출력 예

a + b * c

Hint!

입력 예 2
23
( a + ( b * c ) * d + e * f ) + g * ( h + z )

출력 예 2
a + b * c * d + e * f + g * ( h + z )




경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호

TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com

Copyrightⓒ 2010-2019 jungol. All right reserved.

TOP