Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var rawData = "gYxseNjwafVPfgsoHnzLblmmAxZUiOnGcchqEAEwjyxwjUIfpXfJQcdLapTmFaqHGCFsdvpLarmPJLOZYMEILGNIPwNOgEazuBVJcyVjBRL";
- var letterFrequencies = rawData.ToLower().ToCharArray().GroupBy(c => c).Select(g => new KeyValuePair<char, int>(g.Key, g.Count())).OrderByDescending(p => p.Value);
- var homeRow = "asdfghjkl".ToCharArray();
- var totalChars = letterFrequencies.Sum(kvp => kvp.Value);
- var homeRowChars = letterFrequencies.Where(kvp => homeRow.Contains(kvp.Key)).Sum(kvp => kvp.Value);
- //Console.WriteLine("total: " + totalChars);
- //Console.WriteLine("home row: " + homeRowChars);
- Console.WriteLine("Home row % expected: " + (9.0/26).ToString("0.0%"));
- Console.WriteLine("Home row % actual: " + ((double)homeRowChars/totalChars).ToString("0.0%"));
- var upperCount = rawData.ToCharArray().Count(c => char.IsUpper(c));
- Console.WriteLine("Expected upper: 50%");
- Console.WriteLine("Actual upper: " + ((double)upperCount/rawData.Length).ToString("0.0%"));
- var sequentialCaseCount = 0;
- var lastUpper = char.IsUpper(rawData[0]);
- foreach (char c in rawData.ToCharArray().Skip(1))
- {
- var currUpper = char.IsUpper(c);
- if (lastUpper == currUpper)
- {
- sequentialCaseCount++;
- }
- lastUpper = currUpper;
- }
- Console.WriteLine("Expected sequential case match: 50%");
- Console.WriteLine("Actual sequential case match: " + ((double)sequentialCaseCount / (rawData.Length - 1)).ToString("0.0%"));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement