fork download
  1. #include <iostream>
  2. #include <sstream>
  3. using namespace std;
  4.  
  5. string compress(const string &str)
  6. {
  7. ostringstream ss;
  8. for(int ch=0,prv=str[0],count=1,i=1;prv;++i,prv=ch)
  9. {
  10. if((ch=str[i])==prv) ++count;
  11. else if(count==1) ss<<(char)prv;
  12. else
  13. {
  14. ss<<count<<(char)prv;
  15. count=1;
  16. }
  17. }
  18. return ss.str();
  19. }
  20.  
  21. int main(void)
  22. {
  23. cout<<compress("abcccdefff ffbbcdegg")<<endl;
  24. cout<<compress("bbba")<<endl;
  25. return 0;
  26. }
Success #stdin #stdout 0s 3476KB
stdin
Standard input is empty
stdout
ab3cde3f 2f2bcde2g
3ba