Skip to content

Instantly share code, notes, and snippets.

@garyshort
Last active July 12, 2020 16:24
Show Gist options
  • Save garyshort/8db52d7039eef3cbd40d4a2d5b165740 to your computer and use it in GitHub Desktop.
Save garyshort/8db52d7039eef3cbd40d4a2d5b165740 to your computer and use it in GitHub Desktop.
using System;
using System.Linq;
namespace _4Phil
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Testing algorithm...");
Console.WriteLine(NumberOfACharAdditions("baaa"));
Console.WriteLine(NumberOfACharAdditions("aa"));
Console.WriteLine(NumberOfACharAdditions("dog"));
Console.WriteLine(NumberOfACharAdditions("aabab"));
}
static private int NumberOfACharAdditions(string aString)
{
// Fail fast
if ("aa" == aString)
{
return 0;
}
if (aString.Contains("aaa"))
{
return -1;
}
// Return the number of a additions
int numberOfNonAChars = aString.Count(c => (c != 'a'));
int numberOfAChars = aString.Count(c => (c == 'a'));
return ((numberOfNonAChars * 2) + 2) - numberOfAChars;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment