57 lines
1.4 KiB
C#
57 lines
1.4 KiB
C#
|
|
using Microsoft.VisualBasic.CompilerServices;
|
|
|
|
_ = Result.makeAnagram("aaa", "aaa");
|
|
_ = Result.makeAnagram("aba", "baa");
|
|
Result.makeAnagram("aba", "abb");
|
|
Result.makeAnagram("mmm", "mm");
|
|
Result.makeAnagram("mm", "mmm");
|
|
_ = Result.makeAnagram("fcrxzwscanmligyxyvym", "jxwtrhvujlmrpdoqbisbwhmgpmeoke");
|
|
|
|
Console.ReadKey();
|
|
|
|
|
|
|
|
class Result
|
|
{
|
|
|
|
/*
|
|
* Complete the 'makeAnagram' function below.
|
|
*
|
|
* The function is expected to return an INTEGER.
|
|
* The function accepts following parameters:
|
|
* 1. STRING a
|
|
* 2. STRING b
|
|
*/
|
|
|
|
public static int makeAnagram(string a, string b)
|
|
{
|
|
char[] auxA = a.ToArray();
|
|
char[] auxB = b.ToArray();
|
|
//double for per each array
|
|
var diff = auxA.Length + auxB.Length;
|
|
for (int i = 0; i < auxA.Length; i++)
|
|
{
|
|
for (int j = 0; j < auxB.Length; j++)
|
|
{
|
|
var ca = auxA[i];
|
|
var cb = auxB[j];
|
|
if (auxA[i] == auxB[j])
|
|
{
|
|
auxA[i] = '_';
|
|
auxB[j] = '_';
|
|
diff -= 2;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
// var diff = auxA.Count(x => x != '_') + auxB.Count(x => x != '_');
|
|
|
|
//Console.WriteLine($"{new string(auxA)} <-> {new string(auxB)} ({diff})");
|
|
return diff;
|
|
}
|
|
|
|
}
|
|
|