728x90

알고리즘 분류: 문자열, 그리디, 수학
문제 링크: www.acmicpc.net/problem/1541
1541번: 잃어버린 괄호
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다
www.acmicpc.net
- '-' 기호가 나온 후 모든 연산을 '-'로 해주면 최솟값이 되기 때문에 sign으로 체크해주었다.
#include <unordered_map>
#include <unordered_set>
#include <algorithm>
#include <iostream>
#include <climits>
#include <cstring>
#include <iomanip>
#include <bitset>
#include <string>
#include <vector>
#include <cmath>
#include <deque>
#include <queue>
#include <stack>
#include <list>
#include <map>
#include <set>
#define ll long long
#define INF 1e9
using namespace std;
//https://www.acmicpc.net/problem/1541 잃어버린 괄호
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
string s;
cin >> s;
string num = "";
int ans = 0;
int sign = 1;
s += '.';
for(int i=0; i<s.size(); i++) {
if(isdigit(s[i])) {
num += s[i];
continue;
}
ans += stoi(num) * sign;
if(s[i] == '-') sign = -1;
num = "";
}
cout << ans;
return 0;
}
728x90
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준 / BOJ] 1992 쿼드트리 (0) | 2021.03.16 |
---|---|
[백준 / BOJ] 11866 요세푸스 문제 0 (0) | 2021.03.16 |
[백준 / BOJ] 2231 분해합 (0) | 2021.03.16 |
[백준 / BOJ] 2798 블랙잭 (0) | 2021.03.16 |
[백준 / BOJ] 1002 터렛 (0) | 2021.03.15 |