https://www.acmicpc.net/problem/5026
박사과정 5026
개행문자와 1의 자리숫자 이상의 숫자일때 처리해야 하는 부분과
strcmp로 글자를 비해 숫자가 아닐때 다른 값을 출력해줘야함
코드 보기
#include <iostream>
#include <cstring>
using namespace std;
int main(){
int n=0,sum=0,temp=0;
char ar[20];
cin >> n;
cin.ignore();
for(int i=0; i<n; i++){
sum = 0;
cin.getline(ar,10,'\n');
if(strcmp(ar, "P=NP")==0){
//strcmp로 글자를 비교해서 숫자식이 아닐때 처리
cout << "skipped\n";
}else{
for(int j=0; j<strlen(ar); j++){
temp=0;
while(ar[j] != '+' && ar[j] != '\0'){
//+전까지 문자에서 숫자로 합쳐준 후 더할 것 숫자가 없는 자리일땐 끝냄
temp *= 10;
temp += ar[j] - '0';
j++;
}
sum += temp;
}
cout << sum << endl;
memset(ar,0,sizeof(ar));
}
}
return 0;
}
'컴퓨터공학 > 알고리즘 _ 문제해결' 카테고리의 다른 글
1003 번 문제 피보나치 함수 Dynamic Programming (0) | 2017.02.06 |
---|---|
5704 팬그램 문자열 처리 문제 백준 (0) | 2017.01.29 |
백준 11024번 더하기 4 (0) | 2017.01.29 |
백준 2309 일곱난쟁이 브루트 포스 (0) | 2017.01.13 |
10799 쇠막대기 백준 알고리즘 문제 스택 (0) | 2017.01.08 |