about summary refs log tree commit diff
path: root/users/Profpatsch/advent-of-code/2020/03/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'users/Profpatsch/advent-of-code/2020/03/main.py')
-rw-r--r--users/Profpatsch/advent-of-code/2020/03/main.py66
1 files changed, 0 insertions, 66 deletions
diff --git a/users/Profpatsch/advent-of-code/2020/03/main.py b/users/Profpatsch/advent-of-code/2020/03/main.py
deleted file mode 100644
index 4d6baf946c3e..000000000000
--- a/users/Profpatsch/advent-of-code/2020/03/main.py
+++ /dev/null
@@ -1,66 +0,0 @@
-import itertools
-import math
-
-def tree_line(init):
-    return {
-        "init-len": len(init),
-        "known": '',
-        "rest": itertools.repeat(init)
-    }
-
-def tree_line_at(pos, tree_line):
-    needed = (pos + 1) - len(tree_line["known"])
-    # internally advance the tree line to the position requested
-    if needed > 0:
-        tree_line["known"] = tree_line["known"] \
-          + ''.join(
-            itertools.islice(
-                tree_line["rest"],
-                1+math.floor(needed / tree_line["init-len"])))
-    # print(tree_line)
-    return tree_line["known"][pos] == '#'
-
-def tree_at(linepos, pos, trees):
-    return tree_line_at(pos, trees[linepos])
-
-def slope_positions(trees, right, down):
-    line = 0
-    pos = 0
-    while line < len(trees):
-        yield (line, pos)
-        line = line + down
-        pos = pos + right
-
-trees = []
-with open("./input", 'r') as f:
-    for line in f:
-        line = line.rstrip()
-        trees.append(tree_line(line))
-
-# print(list(itertools.islice(trees[0], 5)))
-# print(list(map(
-#     lambda x: tree_at(0, x, trees),
-#     range(100)
-# )))
-# print(list(slope_positions(trees, right=3, down=1)))
-
-def count_slope_positions(trees, slope):
-    count = 0
-    for (line, pos) in slope:
-        if tree_at(line, pos, trees):
-            count = count + 1
-    return count
-
-print(
-        count_slope_positions(trees, slope_positions(trees, right=1, down=1))
-    *
-        count_slope_positions(trees, slope_positions(trees, right=3, down=1))
-    *
-        count_slope_positions(trees, slope_positions(trees, right=5, down=1))
-    *
-        count_slope_positions(trees, slope_positions(trees, right=7, down=1))
-    *
-        count_slope_positions(trees, slope_positions(trees, right=1, down=2))
-)
-
-# I realized I could have just used a modulo instead …