[백준] 1541번 잃어버린 괄호 C++

semi·2022년 10월 6일
0

coding test

목록 보기
53/57

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;
}

0개의 댓글