public static void Main()
Console.WriteLine("AAAABBUUYYYYTTTTTTTT".CountMap());
public static class Extensions
public static string CountMap(this string value)
Enumerable.Range(0, value.Length)
.Where(i => (i == 0 || value[i] != value[i - 1]))
.Select(i => value.ToCharArray().Skip(i).TakeWhile(c => c == value[i]))
.Select(a => string.Concat(a.First(), a.Count()))