Interview Question
Country: United States
#include <iostream>
#include <string>
using std::string;
int CalculateRepeats(int inputNum){
string inString = std::to_string(inputNum);
char curChar = ' '; /// THIS MUST BE CHAR
int count = 0;
string outString = "";
for(int i = 0; i<inString.length(); i++){
if(inString[i]==curChar){count++;}
else{
if(count!=0) {outString += std::to_string(count) + curChar;}
count = 1;
curChar = inString[i];
}
}
if(count!=0) {outString += std::to_string(count) + curChar;}
int outNumber = atoi(outString.c_str()); /// CONVERSION STR TO INT
return outNumber;
}
int main(){
int testArg = 111222289;
int testOut = CalculateRepeats(testArg);
std::cout << testOut;
}
Here's my solution
#include <iostream>
#include <string>
using std::string;
int CalculateRepeats(int inputNum){
string inString = std::to_string(inputNum);
char curChar = ' '; /// THIS MUST BE CHAR
int count = 0;
string outString = "";
for(int i = 0; i<inString.length(); i++){
if(inString[i]==curChar){count++;}
else{
if(count!=0) {outString += std::to_string(count) + curChar;}
count = 1;
curChar = inString[i];
}
}
if(count!=0) {outString += std::to_string(count) + curChar;}
int outNumber = atoi(outString.c_str()); /// CONVERSION STR TO INT
return outNumber;
}
int main(){
int testArg = 111222289;
int testOut = CalculateRepeats(testArg);
std::cout << testOut;
}
hope this helps...
- PeyarTheriyaa May 26, 2018