Solve 2019:04 "Secure Container"

This commit is contained in:
Anders Englöf Ytterström 2023-11-21 20:10:51 +01:00 committed by Anders Englöf Ytterström
parent 799216623e
commit 298b97b66d

View file

@ -0,0 +1,36 @@
from collections import Counter
from output import answer, puzzleinput
n = 4
title = "Secure Container"
@puzzleinput(n)
def parse_input(data):
return data.split("-")
@answer(1, "{} combinations of valid passwords")
def part_1(range_values):
a, b = range_values
def valid(s):
return "".join(sorted(s)) == s and any(x == y for x, y in zip(s, s[1:]))
return sum(valid(str(pw)) for pw in range(int(a), int(b) + 1))
@answer(2, "{} combinations of valid passwords, including important detail")
def part_2(range_values):
a, b = range_values
def valid(s):
return "".join(sorted(s)) == s and 2 in Counter(s).values()
return sum(valid(str(pw)) for pw in range(int(a), int(b) + 1))
if __name__ == "__main__":
parsed = parse_input()
part_1(parsed)
part_2(parsed)