private static bool VerifyPassword_Part2(PasswordVerification verification) { var position1 = verification.Password[verification.RuleValues.Item1 - 1].ToString(); var position2 = verification.Password[verification.RuleValues.Item2 - 1].ToString(); return((position1.Equals(verification.Character) || position2.Equals(verification.Character)) && !(position1.Equals(verification.Character) && position2.Equals(verification.Character))); }
private static PasswordVerification ParsePasswordVerification(string lineItem) { var sides = lineItem.Split(':'); var leftSideItems = sides[0].Split(' '); var ruleValues = leftSideItems[0].Split('-').Select(int.Parse).ToList(); var verifcation = new PasswordVerification { RuleValues = new Tuple <int, int>(ruleValues[0], ruleValues[1]), Character = leftSideItems[1].Trim(), Password = sides[1].Trim() }; return(verifcation); }
private static bool VerifyPassword_Part1(PasswordVerification verification) { var characterCount = verification.Password.Where(c => c.ToString().Equals(verification.Character)).Count(); return(IsInRange(characterCount, verification.RuleValues)); }