Day 1
This commit is contained in:
parent
3667e93a4a
commit
418ac6eb85
1 changed files with 27 additions and 0 deletions
27
day1.py
Normal file
27
day1.py
Normal file
|
|
@ -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))
|
||||||
Loading…
Reference in a new issue