https://school.programmers.co.kr/learn/courses/30/lessons/120907
stringstream을 알기 전까지는 char 하나하나 분해해가면서 숫자인지 기호인지 판별해가면서 해보려했었다.
//if문으로 글자 하나하나 보면서 숫자면 숫자가 연속되었는지, 그 전에 -를 만났는지 = 을 만났는지
//다 if문으로 체크 할 생각했었음.
#include <string>
#include <vector>
#include <sstream>
using namespace std;
vector<string> solution(vector<string> quiz) {
vector<string> answer;
for(string& q : quiz)
{
stringstream ss(q);
string x, y, z;
string op;
string eq;
ss >> x;
ss >> op;
ss >> y;
ss >> eq;
ss >> z;
int result;
switch(op[0])
{
case '+':
result = stoi(x) + stoi(y);
break;
case '-':
result = stoi(x) - stoi(y);
break;
default:
break;
}
if(result == stoi(z))
answer.push_back("O");
else
answer.push_back("X");
}
return answer;
}
stringstream으로 파싱한다. 수식은 무조건 숫자 연산자 숫자 = 숫자 로 되어있기 때문에 그대로 파싱한다.