중요 지식
없다
코드
#include <iostream>
#include <string>
using namespace std;
int main(){
string str;
int num = 0 , sum = 0, sign = 1;
cin >> str;
str = str + '=';
for(char ch: str){
if(ch >= '0' && ch <= '9'){
num = num*10 + (ch - '0');
}else{
sum += sign * num;
num = 0;
}
if(ch == '-'){
sign = -1;
}
}
cout << sum;
return 0;
}
풀이
값을 더하다가 '-'이후애 나오는 모든 값을 빼주면 된다
질문1 str = str + '='; 를 넣은 이유
간단하게 조회하기 위해 범위기반 for문을 사용했습니다 문자형태인 정수조각을 감지하고 완전한 정수로 만드는 과정에서 다음에 올 문자가 정수인지 아닌지 알 수 없기 때문에 숫자가 아닌 문자가 왔을 때만 값을 더합니다 그래서 뒤에 있는 정수도 계산하기 위해 문자를 넣어준 것입니다
'프로그래밍 문제집 > 백준' 카테고리의 다른 글
7662번-이중 우선순위 큐 (0) | 2022.02.12 |
---|---|
1927번-최소 힙 (0) | 2022.02.11 |
1389번: 케빈 베이컨의 6단계 법칙 (0) | 2022.02.09 |
1107번-리모컨 (0) | 2022.02.07 |
1074번-Z (0) | 2022.02.03 |