음수 부호(-)가 나오는 순간부터 모든 수가 음수라고 생각하면 된다. a+b-(c+...+z) 가 되기 때문.
#include <bits/stdc++.h>
using namespace std;
int main() {
char s[101];
scanf("%s", s);
int num=0, sum=0;
bool sub = false;
for(int i=0; s[i]; ++i){
if('0' <= s[i] && s[i] <= '9'){
num = 10*num + (s[i]-'0');
} else {
if(!sub) sum += num;
else sum -= num;
num = 0;
sub |= s[i] == '-';
}
}
if(!sub) sum += num;
else sum -= num;
printf("%d", sum);
return 0;
}
댓글 없음:
댓글 쓰기