コード例 #1
0
ファイル: Part1.cs プロジェクト: rob853/AdventOfCode
        public int GetAnswer()
        {
            var allPasswords     = PasswordReader.GetAllPasswords();
            var correctPasswords = 0;

            foreach (var pass in allPasswords)
            {
                var countOfLetter = pass.Password.ToArray().Count(a => a == char.Parse(pass.Letter));
                if (countOfLetter <= pass.MaxOccurrences &&
                    countOfLetter >= pass.MinOccurrences)
                {
                    correctPasswords++;
                }
            }

            return(correctPasswords);
        }
コード例 #2
0
ファイル: Part2.cs プロジェクト: rob853/AdventOfCode
        public int GetAnswer()
        {
            var allPasswords     = PasswordReader.GetAllPasswords();
            var correctPasswords = 0;

            foreach (var pass in allPasswords)
            {
                var firstPosition  = pass.Password.ToArray()[pass.MinOccurrences - 1] == char.Parse(pass.Letter);
                var secondPosition = pass.Password.ToArray()[pass.MaxOccurrences - 1] == char.Parse(pass.Letter);

                if (firstPosition ^ secondPosition)
                {
                    correctPasswords++;
                }
            }

            return(correctPasswords);
        }