aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-151/abigail/python/ch-1.py32
-rw-r--r--challenge-151/abigail/python/ch-2.py18
2 files changed, 50 insertions, 0 deletions
diff --git a/challenge-151/abigail/python/ch-1.py b/challenge-151/abigail/python/ch-1.py
new file mode 100644
index 0000000000..12dec88d86
--- /dev/null
+++ b/challenge-151/abigail/python/ch-1.py
@@ -0,0 +1,32 @@
+#!/usr/local/bin/python3
+
+#
+# See https://theweeklychallenge.org/blog/perl-weekly-challenge-151
+#
+
+#
+# Run as: python ch-1.py < input-file
+#
+
+import fileinput
+
+for line in fileinput . input ():
+ tree = list (map (lambda row: row . strip () . split (),
+ line . strip () . split ("|")))
+ for d in range (len (tree)):
+ if (d == len (tree) - 1):
+ print (d + 1)
+ break
+ done = False
+ for i in range (len (tree [d])):
+ if tree [d] [i] != "*":
+ ch1 = 2 * i
+ ch2 = 2 * i + 1
+ if ch1 >= len (tree [d + 1]) or (
+ (tree [d + 1] [ch1] == "*" and (
+ ch2 >= len (tree [d + 1]) or tree [d + 1] [ch2] == "*"))):
+ print (d + 1)
+ done = True
+ break
+ if done:
+ break
diff --git a/challenge-151/abigail/python/ch-2.py b/challenge-151/abigail/python/ch-2.py
new file mode 100644
index 0000000000..a20a18329b
--- /dev/null
+++ b/challenge-151/abigail/python/ch-2.py
@@ -0,0 +1,18 @@
+#!/usr/local/bin/python3
+
+#
+# See https://theweeklychallenge.org/blog/perl-weekly-challenge-151
+#
+
+#
+# Run as: python ch-2.py < input-file
+#
+
+import fileinput
+
+for line in fileinput . input ():
+ houses = list (map (lambda x: int (x), line . strip () . split ()))
+ best = [0] * (len (houses) + 2)
+ for i in range (len (houses) - 1, 1, -1):
+ best [i] = max (houses [i] + best [i + 2], best [i + 1])
+ print (houses [0] + best [2])