diff --git a/day-06/day-06.py b/day-06/day-06.py new file mode 100644 index 0000000..ceeecd1 --- /dev/null +++ b/day-06/day-06.py @@ -0,0 +1,48 @@ +#!/usr/bin/python3 +from pathlib import Path + + +def part_1(input): + result = 0 + numbers = input[0].split(',') + numbers = [int(n) for n in numbers] + for i in range(80): + new_numbers = [] + new = 0 + for n in numbers: + if n > 0: + n -= 1 + else: + n = 6 + new += 1 + new_numbers.append(n) + new_numbers += [8 for x in range(new)] + numbers = new_numbers + result = len(numbers) + print("Part 1 result:", result) + + +def part_2(input): + result = 0 + numbers = input[0].split(',') + numbers = [int(n) for n in numbers] + count = [0] * 9 + for i in range(9): + count[i] = len([x for x in numbers if x == i]) + for i in range(256): + tmp = count[0] + for j in range(8): + count[j] = count[j+1] + count[8] = tmp + count[6] += tmp + for c in count: + result += c + print("Part 2 result:", result) + + +input = list() +p = Path(__file__).with_name('input.txt') +with open(p) as f: + input = f.readlines() + part_1(input) + part_2(input) diff --git a/day-06/input.txt b/day-06/input.txt new file mode 100644 index 0000000..6f8fd86 --- /dev/null +++ b/day-06/input.txt @@ -0,0 +1 @@ +4,1,1,4,1,1,1,1,1,1,1,1,3,4,1,1,1,3,1,3,1,1,1,1,1,1,1,1,1,3,1,3,1,1,1,5,1,2,1,1,5,3,4,2,1,1,4,1,1,5,1,1,5,5,1,1,5,2,1,4,1,2,1,4,5,4,1,1,1,1,3,1,1,1,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,2,1,1,1,1,1,1,1,2,4,4,1,1,3,1,3,2,4,3,1,1,1,1,1,2,1,1,1,1,2,5,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,4,1,5,1,3,1,1,1,1,1,5,1,1,1,3,1,2,1,2,1,3,4,5,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,3,1,1,3,1,1,4,1,1,1,1,1,2,1,1,1,1,3,2,1,1,1,4,2,1,1,1,4,1,1,2,3,1,4,1,5,1,1,1,2,1,5,3,3,3,1,5,3,1,1,1,1,1,1,1,1,4,5,3,1,1,5,1,1,1,4,1,1,5,1,2,3,4,2,1,5,2,1,2,5,1,1,1,1,4,1,2,1,1,1,2,5,1,1,5,1,1,1,3,2,4,1,3,1,1,2,1,5,1,3,4,4,2,2,1,1,1,1,5,1,5,2 \ No newline at end of file