From 0a7457f1b366fe7421a3c1f2ce951914fbfeea7c Mon Sep 17 00:00:00 2001 From: Fedor Lyanguzov Date: Wed, 12 May 2021 22:32:49 +0300 Subject: [PATCH] Sovle 15.1 and 15.2 --- 15/15.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 15/15.py diff --git a/15/15.py b/15/15.py new file mode 100644 index 0000000..ed0ff29 --- /dev/null +++ b/15/15.py @@ -0,0 +1,22 @@ +from collections import defaultdict + +numbers = [14,1,17,0,3,20] + +def f(numbers, nth): + d={} + for i, n in enumerate(numbers[:-1], 1): + d[n] = i + + prev = numbers[-1] + for i in range(len(numbers), nth): + if prev not in d: + d[prev] = i + prev = 0 + else: + next = i-d[prev] + d[prev] = i + prev = next + return prev + +print(f(numbers, 2020)) +print(f(numbers, 30_000_000))