From 5d2f2d1dddff48caebe43a5ca771beaa90dcf33f Mon Sep 17 00:00:00 2001 From: Rokas Puzonas Date: Tue, 15 Dec 2020 21:31:10 +0200 Subject: [PATCH] Solved part 1 of day 15 --- 15/input.txt | 1 + 15/part1.py | 21 +++++++++++++++++++++ 15/test.txt | 1 + 3 files changed, 23 insertions(+) create mode 100644 15/input.txt create mode 100644 15/part1.py create mode 100644 15/test.txt 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