aboutsummaryrefslogtreecommitdiff
path: root/challenge-100/paulo-custodio/python
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-100/paulo-custodio/python')
-rw-r--r--challenge-100/paulo-custodio/python/ch-1.py16
-rw-r--r--challenge-100/paulo-custodio/python/ch-2.py54
2 files changed, 33 insertions, 37 deletions
diff --git a/challenge-100/paulo-custodio/python/ch-1.py b/challenge-100/paulo-custodio/python/ch-1.py
index 12fad2210b..818624d76b 100644
--- a/challenge-100/paulo-custodio/python/ch-1.py
+++ b/challenge-100/paulo-custodio/python/ch-1.py
@@ -1,16 +1,14 @@
#!/usr/bin/env python
-# Challenge 100
-#
# TASK #1 > Fun Time
# Submitted by: Mohammad S Anwar
# You are given a time (12 hour / 24 hour).
-#
+#
# Write a script to convert the given time from 12 hour format to 24 hour format
# and vice versa.
-#
+#
# Ideally we expect a one-liner.
-#
+#
# Example 1:
# Input: 05:15 pm or 05:15pm
# Output: 17:15
@@ -23,8 +21,8 @@ import sys;
import datetime;
if re.search(r'am|pm', sys.argv[1], re.I):
- t = datetime.datetime.strptime(sys.argv[1], "%I:%M%p")
- print(t.strftime("%H:%M"))
+ t = datetime.datetime.strptime(sys.argv[1], "%I:%M%p")
+ print(t.strftime("%H:%M"))
else:
- t = datetime.datetime.strptime(sys.argv[1], "%H:%M")
- print(t.strftime("%I:%M%p").lower())
+ t = datetime.datetime.strptime(sys.argv[1], "%H:%M")
+ print(t.strftime("%I:%M%p").lower())
diff --git a/challenge-100/paulo-custodio/python/ch-2.py b/challenge-100/paulo-custodio/python/ch-2.py
index 44a2c9f077..9491b675e0 100644
--- a/challenge-100/paulo-custodio/python/ch-2.py
+++ b/challenge-100/paulo-custodio/python/ch-2.py
@@ -1,29 +1,27 @@
#!/usr/bin/env python
-# Challenge 100
-#
# TASK #2 > Triangle Sum
# Submitted by: Mohammad S Anwar
# You are given triangle array.
-#
+#
# Write a script to find the minimum path sum from top to bottom.
-#
-# When you are on index i on the current row then you may move to either
+#
+# When you are on index i on the current row then you may move to either
# index i or index i + 1 on the next row.
-#
+#
# Example 1:
# Input: Triangle = [ [1], [2,4], [6,4,9], [5,1,7,2] ]
# Output: 8
-#
+#
# Explanation: The given triangle
-#
+#
# 1
# 2 4
# 6 4 9
# 5 1 7 2
-#
+#
# The minimum path sum from top to bottom: 1 + 2 + 4 + 1 = 8
-#
+#
# [1]
# [2] 4
# 6 [4] 9
@@ -31,16 +29,16 @@
# Example 2:
# Input: Triangle = [ [3], [3,1], [5,2,3], [4,3,1,3] ]
# Output: 7
-#
+#
# Explanation: The given triangle
-#
+#
# 3
# 3 1
# 5 2 3
# 4 3 1 3
-#
+#
# The minimum path sum from top to bottom: 3 + 1 + 2 + 1 = 7
-#
+#
# [3]
# 3 [1]
# 5 [2] 3
@@ -51,26 +49,26 @@ import sys;
triangle = []
def add_row(row, items):
- triangle.append(items)
+ triangle.append(items)
def parse(args):
- for i in range(0, len(args)):
- items = [int(x) for x in args[i].split(",")]
- add_row(i, items)
+ for i in range(0, len(args)):
+ items = [int(x) for x in args[i].split(",")]
+ add_row(i, items)
def min_sum():
- def min_sum_1(sum, row, col):
- sum += triangle[row][col]
- if row+1 == len(triangle):
- return sum
- else:
- sum1 = min_sum_1(sum, row+1, col)
- sum2 = min_sum_1(sum, row+1, col+1)
- return min(sum1, sum2)
- return min_sum_1(0, 0, 0)
+ def min_sum_1(sum, row, col):
+ sum += triangle[row][col]
+ if row+1 == len(triangle):
+ return sum
+ else:
+ sum1 = min_sum_1(sum, row+1, col)
+ sum2 = min_sum_1(sum, row+1, col+1)
+ return min(sum1, sum2)
+ return min_sum_1(0, 0, 0)
parse(sys.argv[1:])
print(min_sum())
-
+