본문 바로가기

코딩 테스트

백준 - 1541 잃어버린 괄호

#include <iostream>
#include <vector>
#include <queue>
#include <string>

using namespace std;

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);	cout.tie(0);

	string str;
	cin >> str;

	bool minus = false;
	bool firstm = true;

	int answer = 0;

	string num;

	for (int i = 0; i < str.size(); ++i)
	{
		
		if (i == str.size() - 1)
		{
			if (minus)
			{
				num += str[i];
				int n = stoi(num);

				answer -= n;
				num.clear();
			}
			else
			{
				num += str[i];
				int n = stoi(num);

				answer += n;
				num.clear();
			}
		}

		if (str[i] == '-')
		{
			if (firstm)
			{
				firstm = false;

				int n = stoi(num);

				answer += n;
				num.clear();
			}
			else
			{
				int n = stoi(num);

				answer -= n;
				num.clear();
			}
			minus = true;
		}
		else if (str[i] == '+')
		{
			if (minus)
			{
				int n = stoi(num);

				answer -= n;
				num.clear();
			}
			else
			{
				int n = stoi(num);

				answer += n;
				num.clear();
			}
		}
		else
		{
			num += str[i];
		}

	}



	cout << answer;

	return 0;
}

'코딩 테스트' 카테고리의 다른 글

백준 1992 쿼드트리  (0) 2024.09.03
백준 - 14400 편의점 2  (0) 2024.09.03
백준 - 11729 하노이의 탑  (0) 2024.08.27
백준 - 14502 연구소  (0) 2024.08.27
백준 - 7576 토마토  (0) 2024.08.26