Header Ads Widget

string compression | solution of cracking the coding interview

   Problem:- 

 Implement a method to perform basic string compression using the counts of repeated characters for example , the string aabccccaaa would become a2b1c5a3. if the compressed string would not become smaller than the original string , your method should return the original string . You can assume the string has only Uppercase and lowercase letters.

Code:-

#include<stdio.h>
#include<string.h>
int main()
{
char s[50];
printf("Enter a string\n");
scanf("%s",s);
int l=strlen(s);
char ans[50];
int a[50]={0},k=0;
for(int i=0;s[i];)
{
int count=0;
ans[k]=s[i];
while(s[i]==ans[k] && s[i]!='\0')
{
count++;
i++;
}
// converting integer into character
char ch=count+'0';
k++;
ans[k]=ch;
k++;
}
ans[k]='\0';
if(k<l)
printf("%s",ans);
else
printf("%s",s);
return 0;
}

Output:-

Enter a string
aabccccaa
a2b1c4a2



Recommended Post:

Hackerearth Problems:-

Hackerrank Problems:-

Data structure:-

Key points:-

 MCQs:-