#include <stdlib.h>
#include<iostream>
#include<unordered_map>
using namespace std;
char *removeDirtyChars(char *str, char *mask_str)
{
unordered_map<char , bool> mp;
for (int i = 0; mask_str[i]; i++){
mp[ mask_str[i] ] = 1;
}
int ip_ind = 0, res_ind = 0;
while ( str[ip_ind] )
{
char temp = str [ip_ind];
if (mp[temp] == 0)
str [res_ind++] = str [ip_ind];
ip_ind++;
}
str[res_ind] = '\0';
return str;
}
int main()
{
char str[] = "geeksforgeeks";
char mask_str[] = "mask";
cout<< removeDirtyChars(str, mask_str) <<endl;
return 0;
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZTxpb3N0cmVhbT4KI2luY2x1ZGU8dW5vcmRlcmVkX21hcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgpjaGFyICpyZW1vdmVEaXJ0eUNoYXJzKGNoYXIgKnN0ciwgY2hhciAqbWFza19zdHIpIAp7IAogIHVub3JkZXJlZF9tYXA8Y2hhciAsIGJvb2w+IG1wOwogIGZvciAoaW50IGkgPSAwOyBtYXNrX3N0cltpXTsgIGkrKyl7IAogICAgICAgbXBbIG1hc2tfc3RyW2ldIF0gPSAxOyAKICB9CiAgCiAgaW50IGlwX2luZCA9IDAsIHJlc19pbmQgPSAwOyAKICB3aGlsZSAoIHN0cltpcF9pbmRdICkgCiAgeyAKICAgIGNoYXIgdGVtcCA9IHN0ciBbaXBfaW5kXTsgCiAgICBpZiAobXBbdGVtcF0gPT0gIDApIAogICAgICAgc3RyIFtyZXNfaW5kKytdID0gc3RyIFtpcF9pbmRdOyAKICAgIGlwX2luZCsrOyAKICB9ICAgICAKCiBzdHJbcmVzX2luZF0gPSAnXDAnOyAgICAgCiByZXR1cm4gc3RyOyAKfSAKICAKaW50IG1haW4oKSAKeyAKCiAgICBjaGFyIHN0cltdICAgICAgICAgPSAiZ2Vla3Nmb3JnZWVrcyI7IAogICAgY2hhciBtYXNrX3N0cltdICA9ICJtYXNrIjsgCiAgICBjb3V0PDwgcmVtb3ZlRGlydHlDaGFycyhzdHIsIG1hc2tfc3RyKSA8PGVuZGw7IAogICAgcmV0dXJuIDA7IAp9IA==