challenges/hackerrank/HackerRankChallenges/MakingAnagrams/Program.cs

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;
}
}