
그리디 문제
- 부호가 있다면 뒤에 나오는 + 부호를 다 -로 바꿔주면 된다.55-50+40라면 55-(50+40) 처리를 해서 55-50-40로 바꿔주는 식num="" 초기화를 해준다.- 부호가 나온다면 minusFlag=true로(1번 처리를 위해+num에 추가해준다.#include <iostream>
#include <string>
using namespace std;
int main(void)
{
string s;
cin >> s;
int answer = 0;
string num="";
bool minusFlag = false;
for (int i = 0; i < s.size(); i++)
{
if (s[i] == '-' || s[i] == '+')
{
if (minusFlag) answer -= stoi(num);
else answer += stoi(num);
num = "";
if (s[i] == '-') minusFlag = true;
}
else if ('0' <= s[i] && s[i] <= '9')
{
num += s[i];
}
}
if (minusFlag) answer -= stoi(num);
else answer += stoi(num);
cout << answer << endl;
return 0;
}