What is the logic behind Piece of cake problem?
Just find the character which has occurred most in the string. Suppose it has occurred n times. So the remaining characters will be m = size of the string - n. If n = m, then answer will be yes, if not, no.
1 Like
I assume you are new to coding, hence i will give a code with explanation. Else, sudip has already answered it well enough.
What you have to do, is something like this-
while(t--)
{
string s;
cin>>s;
int i;
int arr[26];
for(i=0;i<26;i++)arr[i]=0; //Initialise array.
for(i=0;i<s.length();i++)
{
arr[s[i]-'a']++;//Store the count of letters. Note that since letters range from a to z, letter ch - 'a' is <26.
}
int flag=0;//Will be 0 if false, 1 if true. We assume it to be false by default.
for(i=0;i<26;i++)
{
if(s.length()-arr[i]==arr[i])//If length of string= Occurance of char ch+occurance of other char
{
flag=1;//The condition holds true. Flag set to 1.
break;
}
}
if(flag==1)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}