[1차] 다트 게임

#include <string>
#include <iostream>
#include <cctype>
using namespace std;
int solution(string dartResult) {
int answer = 0;
int i = 0, j, current_num = 0, current_score = 0, previous_score = 0;
//S : 해당 점수
//D : 해당 점수 제곱
//T : 해당 점수 세제곱
//* : 해당 점수와 바로 전에 얻은 점수 2개
//# : 해당 점수 * -1
while(i < dartResult.size()){
//현재 정수 구하기
current_num = 0;
while(isdigit(dartResult[i])){
current_num = current_num * 10 + (dartResult[i] - '0');
i++;
}
cout << current_num << "\n";
//보너스 구하기
if(dartResult[i] == 'S'){
current_score = current_num;
}
else if(dartResult[i] == 'D'){
current_score = current_num * current_num;
}
else{//'T'
current_score = current_num * current_num * current_num;
}
i++;
//옵션 구하기
if(i < dartResult.size() && (dartResult[i] == '*' || dartResult[i] == '#')){
if(dartResult[i] == '*'){
answer += previous_score;
current_score = current_score * 2;
}
else{
current_score = current_score * (-1);
}
i++;
}
answer += current_score;
previous_score = current_score;
cout << "answer : " << answer << "\n";
cout << "current_score : " << current_score << "\n";
cout << "previous_score : " << previous_score << "\n";
}
return answer;
}