안녕하세요. 오늘은 덧셈식을 만들 거예요.
https://www.acmicpc.net/problem/30884
일단 열린괄호, 닫힌괄호가 연속적으로 있는것은 전혀 상관이 없습니다.
그러므로 ()이랑 )(만 처리해주면 됩니다.
() 사이에는 1, )(사이에는 +를 추가해주면 됩니다.
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(false); cin.tie(NULL);
string s;
int len, i;
cin >> s; len = s.length();
for (i = 0; i < len - 1; i++)
{
cout << s[i];
if (s[i] == '(' && s[i + 1] == ')') cout << '1';
if (s[i] == ')' && s[i + 1] == '(') cout << '+';
}
cout << s[len - 1];
}
감사합니다.