알고리즘/BOJ

백준 1541번 잃어버린 괄호

꾸준함. 2018. 4. 28. 15:14

문제 링크입니다: https://www.acmicpc.net/problem/1541


간단한 수학문제였습니다. 뺄셈 이후마다 괄호를 치면 최소가 됩니다.


#include <iostream>

#include <string>

using namespace std;

 

string str;

 

int minResult(void)

{

        int result = 0;

        string temp = "";

        bool minus = false;

        for (int i = 0; i <= str.size(); i++)

        {

                 //연산자일 경우

                 if (str[i] == '+' || str[i] == '-' || str[i] == '\0')

                 {

                         if (minus)

                                 result -= stoi(temp);

                         else

                                 result += stoi(temp);

                         temp = ""; //초기화

                         //괄호를 뺄셈 이후에 치면 최소

                         if (str[i] == '-')

                                 minus = true;

                         continue;

                 }

                 //피연산자일 경우

                 temp += str[i];

        }

        return result;

}

 

int main(void)

{

        cin >> str;

 

        cout << minResult() << endl;

        return 0;

}



개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~


반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 11509번 풍선 맞추기  (0) 2018.04.29
백준 1500번 최대 곱  (0) 2018.04.29
백준 2421번 저금통  (0) 2018.04.28
백준 2780번 비밀번호  (0) 2018.04.27
백준 15701번 순서쌍  (0) 2018.04.27