LongestCharacterRun

Run Settings
LanguageC#
Language Version
Run Command
namespace LongestCharRun { using System; using Classes; class MainClass { public static void Main(string[] args) { var app = new App(); app.Run("abbcccddddcccbbba"); } } }
namespace LongestCharRun.Classes { using System; public class App { private string PrevChar = ""; private string CurrentChar = ""; private int CurrentRun = 1; private int LongestRun = 0; private string LongestRunChar = ""; public void Run(string characters) { for (var i = 0; i < characters.Length; i++) { CurrentChar = characters[i].ToString(); if (!string.IsNullOrWhiteSpace(PrevChar)) { CheckChars(); } PrevChar = CurrentChar; } Console.WriteLine("{0} {1}", LongestRunChar, LongestRun); } private void CheckChars() { if (CharMatchChecker.DoCharsMatch(CurrentChar, PrevChar)) { CurrentRun++; UpdateLongestRun(); } else { CurrentRun = 1; } } private void UpdateLongestRun() { if (CurrentRun > LongestRun) { LongestRun = CurrentRun; LongestRunChar = CurrentChar; } } } }
namespace LongestCharRun.Classes { public class CharMatchChecker { public static bool DoCharsMatch(string currentChar, string prevChar) { return currentChar == prevChar; } } }
Editor Settings
Theme
Key bindings
Full width
Lines