습관처럼

백준 1541 - 잃어버린 괄호 본문

Algorithms/BOJ

백준 1541 - 잃어버린 괄호

dev.wookii 2020. 3. 17. 15:23

https://www.acmicpc.net/problem/1541

 

1541번: 잃어버린 괄호

첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다.

www.acmicpc.net

문제 설명


세준이는 양수와 +, -, 그리고 괄호를 가지고 길이가 최대 50인 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다.

그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드시오~

 

 

접근 방식


마이너스 뒤로 괄호를 설정해 나간다면 최소의 값을 만들 수 있습니다.

 

 

코드


#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;
string str;
int minResult(){
    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(){
    cin>>str;
    cout<<minResult()<<"\n";
    return 0;
}

funny algorithms *0*~

'Algorithms > BOJ' 카테고리의 다른 글

백준 1978 - 소수 찾기  (0) 2020.03.19
백준 2839 - 설탕 배달  (0) 2020.03.18
백준 2875 - 대회 or 인턴  (0) 2020.03.17
백준 10610 - 30  (0) 2020.03.16
백준 2217 - 로프  (0) 2020.03.16