관리 메뉴

fatalite

잃어 버린 괄호 / 1541번 백준 본문

코딩 인터뷰/Greedy

잃어 버린 괄호 / 1541번 백준

fataliteforu 2023. 9. 14. 08:22

문제

문제 난이도 : 실버 2

문제 분류 : 문자열, 그리디


문제 풀이

#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>
#include <cmath>
#include <string>
#include <deque>
#include <queue>
#include <unordered_map>

using namespace std;

//Global Variable


//Initializing for Optimization
void Init() 
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}


int main()
{
    Init();
    //Input
    string InputString;
    cin >> InputString;
    //Main
    vector<int> Nums;
    string Tmp;
    for (int i = 0; i < InputString.size(); ++i)
    {
        if (InputString[i] == '-' || InputString[i] == '+')
        {
            Nums.push_back(atoi(Tmp.c_str()));
            Tmp.clear();
        }

        Tmp += InputString[i];
        if (i == InputString.size() - 1)
        {
            Nums.push_back(atoi(Tmp.c_str()));
        }
    }

    int Sum = 0;

    for (int i = 1; i < Nums.size(); ++i)
    {
        if (Nums[i] < 0)
        {
            i++;
            while (i < Nums.size()&& Nums[i] > 0 )
            {
                Nums[i] = -Nums[i];
                i++;
            }
            i--;
        }
    }
    for (int i : Nums)
    {
        Sum += i;
    }
    cout << Sum;

    //Output

}

'코딩 인터뷰 > Greedy' 카테고리의 다른 글

민겸 수 - 21314번 백준  (0) 2023.09.14