풀이
숫자가 아닐 때까지 숫자로 변환해 temp에 저장하다가 부호를 만나면 sum에 저장했다.
처음에 숫자가 입력되므로 양수이기 때문에 '-'일 때, sub[0]에 저장을 해주고 sub[1] 이후로는 빼줄 수를 저장했다.
소스코드
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main() {
char str[51];
scanf("%s", str);
int len = strlen(str), sub[25] = {0,}, cnt = 0, sum = 0, temp = 0;
for (int i = 0; i <= len; i++)
if (isdigit(str[i]))
temp = temp*10 + str[i] - '0';
else{
sum += temp;
if (str[i] == '-' || i == len) {
sub[cnt++] = sum;
sum = 0;
}
temp = 0;
}
int result = sub[0];
for (int i = 1; i < cnt; i++)
result -= sub[i];
printf("%d", result);
}
출처
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 2630] 색종이 만들기 [C] (0) | 2021.08.05 |
---|---|
[백준 1026] 보물 [C] (0) | 2021.08.05 |
[백준 10953] A+B - 6 [C] (0) | 2021.08.04 |
[백준 10817] 세 수 [C] (0) | 2021.08.04 |
[백준 2556] 별 찍기 - 14 [C] (0) | 2021.08.04 |