
이것을 풀려면 기본적으로 알아야 되는 것이 있다. 그것은 바로 문자열에 문자열 0을 빼면 뺀 알파벳이 몇번째 알파벳인지 알 수 있다. A~Z까지의 수는 A는 17 B는 18... 이런시긍로 나열이 되어있는데 이것을 내가 원하는 방법으로 변환시켜야된다. 내가 원하는 방법은 A = 0, B=1 ... Z=35이런식으로 변환시켜줘야한다.
한번 생각해보자
#include<iostream>
#include<string>
#include <algorithm>
#include<cmath>
using namespace std;
int main() {
string b;
int n, sum(0);
cin >> b >> n;
for (int i = 0; i < b.length(); i++) {
int temp = b[b.length() - (i + 1)];
if ('0' <= temp && temp <= '9') {
temp = temp - '0';
}
else {
temp = temp + 10 - 'A';
}
sum += (temp * (int)pow(n, i));
}
cout << sum;
return 0;
}