diff --git a/15/input.txt b/15/input.txt new file mode 100644 index 0000000..20bb2f3 --- /dev/null +++ b/15/input.txt @@ -0,0 +1 @@ +11,0,1,10,5,19 \ No newline at end of file diff --git a/15/part1.py b/15/part1.py new file mode 100644 index 0000000..c868659 --- /dev/null +++ b/15/part1.py @@ -0,0 +1,21 @@ + + + +def getStartingNumbers(filename): + with open(filename, "r") as f: + return [int(n) for n in f.read().split(",")] + +numbers = getStartingNumbers("input.txt") +occurences = {n: [i] for i,n in enumerate(numbers)} + +while len(numbers) < 2020: + lastNumber = numbers[-1] + if len(occurences[lastNumber]) > 1: + number = occurences[lastNumber][-1] - occurences[lastNumber][-2] + else: + number = 0 + occurences[number] = occurences.get(number, []) + occurences[number].append(len(numbers)) + numbers.append(number) + +print(numbers[2019]) \ No newline at end of file diff --git a/15/test.txt b/15/test.txt new file mode 100644 index 0000000..37bfbbd --- /dev/null +++ b/15/test.txt @@ -0,0 +1 @@ +3,2,1 \ No newline at end of file