/*
numbers mapping:
a = 1
b = 2
...
j = 10#
...
z = 26#
*/
#include <iostream>
#include <sstream>
char ConvertToLowercaseCharachter(std::string str){
std::stringstream ss(str);
int num;
ss >> num;
return (char)(num + 96);
}
std::string DecryptString(std::string str) {
std::stringstream ss;
int i = 0, len = str.length();
while(i < len - 2) {
char ch;
if (str[i + 2] == '#') {
ch = ConvertToLowercaseCharachter(str.substr(i, 2));
i+=2;
} else {
ch = ConvertToLowercaseCharachter(str.substr(i, 1));
}
i++;
ss << ch;
}
while(i < len) {
char ch = ConvertToLowercaseCharachter(str.substr(i, 1));
ss << ch;
i++;
}
return ss.str();
}
int main()
{
std::cout << DecryptString("12310#11#26#") ;
}
/*
run:
abcjkz
*/