protected char[][] GetTrees() { return(ParserFactory.CreateMultiLineStringParser() .GetData() .Select(s => s.ToCharArray()) .ToArray()); }
private IList <Dictionary <string, string> > GetPassports() { var lines = ParserFactory.CreateMultiLineStringParser().GetData(); var data = new List <Dictionary <string, string> >(); data.Add(new Dictionary <string, string>()); var current = data.Last(); foreach (var line in lines) { if (string.IsNullOrEmpty(line)) { data.Add(new Dictionary <string, string>()); current = data.Last(); continue; } var parts = line.Split(new[] { " ", ":" }, StringSplitOptions.RemoveEmptyEntries); for (var i = 0; i < parts.Length; i += 2) { current[parts[i]] = parts[i + 1]; } } return(data); }
public override string Solve() { var wrapping = ParserFactory.CreateMultiLineStringParser() .GetData() .Select(line => new PresentWrapping(line)) .ToArray(); return(wrapping.Sum(w => w.RequiredPaper).ToString()); }
public override string Solve() { var data = ParserFactory.CreateMultiLineStringParser() .GetData() .Select(long.Parse) .ToList(); return(_validator.FindFirstFailure(data).ToString()); }
public override string Solve() { var bagRegulations = BagRegulation .GetBagRegulations(ParserFactory.CreateMultiLineStringParser().GetData()) .ToArray(); var regulationLookup = BagRegulation.GetRegulationsLookup(bagRegulations); return(bagRegulations .Count(r => r.CanContainBag("shiny gold", regulationLookup)) .ToString()); }
public override string Solve() { var data = ParserFactory.CreateMultiLineStringParser().GetData(); var computer = Computer.Load(data); while (!computer.HasNextInstructionBeenExecuted()) { computer.Step(); } return(computer.Memory.Accumulator.ToString()); }
public override string Solve() { var input = ParserFactory.CreateMultiLineStringParser() .GetData() .Select(s => s.Split(new [] { "-", " ", ":" }, StringSplitOptions.RemoveEmptyEntries)) .Select(parts => new PasswordPolicyEnforcer( int.Parse(parts[0]), int.Parse(parts[1]), parts[2], parts[3])); return(input.Count(i => i.IsValid()).ToString()); }
public override string Solve() { var data = ParserFactory.CreateMultiLineStringParser().GetData().ToList(); foreach (var program in GetVariantPrograms(data)) { try { var computer = Computer.Load(data); computer.RunProgram(); return(computer.Memory.Accumulator.ToString()); } catch { /* Do nothing */ } } return("No Solution"); }
protected List <GroupResponses> GetGroupResponses() { var lines = ParserFactory.CreateMultiLineStringParser().GetData(); var current = new GroupResponses(); var responses = new List <GroupResponses>(); responses.Add(current); foreach (var line in lines) { if (string.IsNullOrEmpty(line)) { current = new GroupResponses(); responses.Add(current); continue; } current.AddResponses(line); } return(responses); }
public override string Solve() { var data = ParserFactory.CreateMultiLineStringParser() .GetData() .Select(long.Parse) .ToList(); var q = new Queue <long>(); foreach (var number in data) { q.Enqueue(number); if (q.Count <= 1) { continue; } var sum = q.Sum(); if (sum == _invalidNumber) { return((q.Min() + q.Max()).ToString()); } while (sum > _invalidNumber) { q.Dequeue(); sum = q.Sum(); if (sum == _invalidNumber) { return((q.Min() + q.Max()).ToString()); } } } return("No Solution Found"); }
public override string Solve() { var data = ParserFactory.CreateMultiLineStringParser().GetData().ToList(); return(""); }
public override string Solve() { var regulationLookup = BagRegulation.GetRegulationsLookup(ParserFactory.CreateMultiLineStringParser().GetData()); return(regulationLookup["shiny gold"].ContainedBagCount(regulationLookup).ToString()); }
protected IEnumerable <BoardingPass> GetBoardingPasses() { return(ParserFactory.CreateMultiLineStringParser() .GetData() .Select(seat => new BoardingPass(seat))); }