From 418ac6eb85e307c322e3f7621815ed7739887a64 Mon Sep 17 00:00:00 2001 From: Jeremy Kaplan Date: Sat, 2 Dec 2017 18:27:53 -0800 Subject: [PATCH] Day 1 --- day1.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 day1.py diff --git a/day1.py b/day1.py new file mode 100644 index 0000000..0bcf9c6 --- /dev/null +++ b/day1.py @@ -0,0 +1,27 @@ +def part1(digits): + return sum(int(d) for i, d in enumerate(digits) if d == digits[(i+1) % len(digits)]) + +for inp, out in [ + ('1122', 3), + ('1111', 4), + ('1234', 0), + ('91212129', 9), +]: + assert part1(inp) == out, f'Expected {out}, got {part1(inp)}' + +def part2(digits): + return sum(int(d) for i, d in enumerate(digits) if d == digits[(i+len(digits)//2) % len(digits)]) + +for inp, out in [ + ('1212', 6), + ('1221', 0), + ('123425', 4), + ('123123', 12), + ('12131415', 4), +]: + assert part2(inp) == out, f'Expected {out}, got {part2(inp)}' + +puzzle_input = 'TODO' + +print(part1(puzzle_input)) +print(part2(puzzle_input))