반응형
문제 링크 : https://www.acmicpc.net/problem/1541
문제 풀이 및 코드
주석 참고
// '-'가 나온 시점부터 음수이므로
// '-'가 나올때까지 모두 더하고 '-'가 나오면 모두 뺀다.
#include <iostream>
#include <string>
using namespace std;
int main() {
string equation;
cin >> equation;
string tmp = "";
bool neg = false; //음수 시작
int answer = 0;
for (int i = 0; i < equation.size(); i++) {
if (equation[i] == '+' || equation[i] == '-') {
if (neg) answer -= stoi(tmp);
else answer += stoi(tmp);
tmp = "";
if (equation[i] == '-') neg = true;
}
else {
tmp += equation[i];
}
}
if (neg) answer -= stoi(tmp);
else answer += stoi(tmp);
cout << answer;
}
반응형
'Programming Solve > BOJ' 카테고리의 다른 글
BOJ 3040 - 백설 공주와 일곱 난쟁이 / C++ (0) | 2021.08.26 |
---|---|
BOJ 10815 숫자 카드 / C++ (0) | 2021.07.16 |
BOJ 1764 듣보잡 / C++ (0) | 2021.07.16 |
BOJ 3046 / 10162 / 10930 / 16968 / Python (0) | 2021.03.20 |
BOJ 20953 / C++ (0) | 2021.03.02 |