[2018 카카오 블라인드 채용 1차 코딩 테스트] 다트 게임
2018 KAKAO BLIND RECRUITMENT :: 2018 카카오 블라인드 채용 1차 코딩 테스트 :: 다트 게임
출처 : https://programmers.co.kr/learn/courses/30/lessons/17682
#include <string>
#include <vector>
using namespace std;
vector <int> v;
int solution(string dartResult) {
int answer = 0; int cnt = -1; v.clear();
for (int i = 0; i < dartResult.size(); i++) {
char tmp = dartResult.at(i);
if (tmp >= 48 && tmp <= 57) {
cnt++;
v.push_back(tmp - '0');
if (tmp == 49 && dartResult.at(i + 1) == 48) { v[cnt] = 10; i++; }
}
else if (tmp == 68) { // D
v[cnt] *= v[cnt];
}
else if (tmp == 84) { // T
int t = v[cnt];
v[cnt] *= t; v[cnt] *= t;
}
else if (tmp == 42) { // *
for (int j = cnt; j>=0 && j >= cnt-1; j--) v[j] *= 2;
}
else if (tmp == 35) { // #
v[cnt] *= -1;
}
}
for (int i = 0; i < 3; i++) answer += v[i];
return answer;
}