https://www.acmicpc.net/problem/1541
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(void)
{
string str, tmp = "";
vector<string> num, oper;
int plus = 0, minus = 0, total = 0;
cin >> str;
oper.push_back("+");
for (int i = 0; i < str.size(); i++)
{
if (str[i] == '+' or str[i] == '-')
{
if (tmp.size() > 0)
{
num.push_back(tmp);
tmp = "";
}
tmp += str[i];
oper.push_back(tmp);
tmp = "";
}
else
{
tmp += str[i];
}
}
num.push_back(tmp);
int i = 0;
while (i < oper.size())
{
if (oper[i] == "-")
{
minus += stoi(num[i]);
i++;
while(i<oper.size() && oper[i] == "+")
{
minus += stoi(num[i]);
i++;
}
}
else
{
plus += stoi(num[i]);
i++;
}
}
cout << plus - minus;
return 0;
}