Search
Duplicate

잃어버린 괄호

주차
0
문제번호
1541
언어
C++
티어
실버
유형
문자열
그리디
nj_Blog
nj_상태
이해도
풀이
사람
이해도 2
13 more properties

Code

제출 날짜

@5/28/2021

메모리

2024 KB

시간

0 ms
#include <iostream> #include <vector> std::string inp; std::vector<int> v; void io_faster() { std::ios_base::sync_with_stdio(false); std::cin.tie(0); std::cout.tie(0); } void input() { io_faster(); std::cin >> inp; } void solve() { int i = -1, tmp = 0, v_size = 0, fl = 1, ans, size = inp.size(); while(++i <= size) { if (i == size) { if (fl) { v.push_back(tmp); v_size++; } else v[v_size - 1] += tmp; break; } if (isdigit(inp[i])) { tmp*=10; tmp += (inp[i] - '0'); } else if (inp[i] == '+' || inp[i] == '-') { if (fl) // '-' { v.push_back(tmp); v_size++; } else v[v_size - 1] += tmp; tmp = 0; if (inp[i] == '+') fl = 0; else fl = 1; } } ans = v[0]; for (int i = 1 ; i < v_size ; i++) ans -= v[i]; std::cout << ans; } int main() { input(); solve(); return (0); }
C++
복사