From a4af5299879128e7a16f4d81aa96c5b7f18f6744 Mon Sep 17 00:00:00 2001 From: Paulo Custodio Date: Wed, 17 Feb 2021 20:38:28 +0000 Subject: Add Awk, C, C++ and Python solutions to challenge 100 --- challenge-100/paulo-custodio/python/ch-1.py | 28 +++++++++++ challenge-100/paulo-custodio/python/ch-2.py | 74 +++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 challenge-100/paulo-custodio/python/ch-1.py create mode 100644 challenge-100/paulo-custodio/python/ch-2.py (limited to 'challenge-100/paulo-custodio/python') diff --git a/challenge-100/paulo-custodio/python/ch-1.py b/challenge-100/paulo-custodio/python/ch-1.py new file mode 100644 index 0000000000..863b39f2ba --- /dev/null +++ b/challenge-100/paulo-custodio/python/ch-1.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python + +# 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 +# Example 2: +# Input: 19:15 +# Output: 07:15 pm or 07:15pm + +import re; +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")) +else: + 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 new file mode 100644 index 0000000000..d75c2540c9 --- /dev/null +++ b/challenge-100/paulo-custodio/python/ch-2.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python + +# 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 +# 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 +# 5 [1] 7 2 +# 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 +# 4 3 [1] 3 + +import sys; + +triangle = [] + +def add_row(row, 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) + +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) + +parse(sys.argv[1:]) +print(min_sum()) + + + -- cgit From ecebe513c84edd4e5b259a8ef245232f771ae77d Mon Sep 17 00:00:00 2001 From: Paulo Custodio Date: Thu, 18 Feb 2021 21:04:48 +0000 Subject: Fix comments --- challenge-100/paulo-custodio/python/ch-1.py | 2 ++ challenge-100/paulo-custodio/python/ch-2.py | 2 ++ 2 files changed, 4 insertions(+) (limited to 'challenge-100/paulo-custodio/python') diff --git a/challenge-100/paulo-custodio/python/ch-1.py b/challenge-100/paulo-custodio/python/ch-1.py index 863b39f2ba..12fad2210b 100644 --- a/challenge-100/paulo-custodio/python/ch-1.py +++ b/challenge-100/paulo-custodio/python/ch-1.py @@ -1,5 +1,7 @@ #!/usr/bin/env python +# Challenge 100 +# # TASK #1 > Fun Time # Submitted by: Mohammad S Anwar # You are given a time (12 hour / 24 hour). diff --git a/challenge-100/paulo-custodio/python/ch-2.py b/challenge-100/paulo-custodio/python/ch-2.py index d75c2540c9..44a2c9f077 100644 --- a/challenge-100/paulo-custodio/python/ch-2.py +++ b/challenge-100/paulo-custodio/python/ch-2.py @@ -1,5 +1,7 @@ #!/usr/bin/env python +# Challenge 100 +# # TASK #2 > Triangle Sum # Submitted by: Mohammad S Anwar # You are given triangle array. -- cgit From 86f1e20620f3acc15e30b400119b9c9b8c161f97 Mon Sep 17 00:00:00 2001 From: Paulo Custodio Date: Fri, 19 Feb 2021 20:09:30 +0000 Subject: Add missing comment line --- challenge-100/paulo-custodio/python/ch-1.py | 2 -- challenge-100/paulo-custodio/python/ch-2.py | 2 -- 2 files changed, 4 deletions(-) (limited to 'challenge-100/paulo-custodio/python') diff --git a/challenge-100/paulo-custodio/python/ch-1.py b/challenge-100/paulo-custodio/python/ch-1.py index 12fad2210b..863b39f2ba 100644 --- a/challenge-100/paulo-custodio/python/ch-1.py +++ b/challenge-100/paulo-custodio/python/ch-1.py @@ -1,7 +1,5 @@ #!/usr/bin/env python -# Challenge 100 -# # TASK #1 > Fun Time # Submitted by: Mohammad S Anwar # You are given a time (12 hour / 24 hour). diff --git a/challenge-100/paulo-custodio/python/ch-2.py b/challenge-100/paulo-custodio/python/ch-2.py index 44a2c9f077..d75c2540c9 100644 --- a/challenge-100/paulo-custodio/python/ch-2.py +++ b/challenge-100/paulo-custodio/python/ch-2.py @@ -1,7 +1,5 @@ #!/usr/bin/env python -# Challenge 100 -# # TASK #2 > Triangle Sum # Submitted by: Mohammad S Anwar # You are given triangle array. -- cgit From 798c5692eb4c43474a1ba230bb93f9fdfc3fd311 Mon Sep 17 00:00:00 2001 From: Paulo Custodio Date: Fri, 19 Feb 2021 20:10:38 +0000 Subject: Remove tabs --- challenge-100/paulo-custodio/python/ch-1.py | 14 ++++---- challenge-100/paulo-custodio/python/ch-2.py | 52 ++++++++++++++--------------- 2 files changed, 33 insertions(+), 33 deletions(-) (limited to 'challenge-100/paulo-custodio/python') diff --git a/challenge-100/paulo-custodio/python/ch-1.py b/challenge-100/paulo-custodio/python/ch-1.py index 863b39f2ba..818624d76b 100644 --- a/challenge-100/paulo-custodio/python/ch-1.py +++ b/challenge-100/paulo-custodio/python/ch-1.py @@ -3,12 +3,12 @@ # 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 @@ -21,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 d75c2540c9..9491b675e0 100644 --- a/challenge-100/paulo-custodio/python/ch-2.py +++ b/challenge-100/paulo-custodio/python/ch-2.py @@ -3,25 +3,25 @@ # 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 @@ -29,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 @@ -49,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()) - + -- cgit From 6ba83654820bad00ba3c679bbe18764269dabe0f Mon Sep 17 00:00:00 2001 From: Paulo Custodio Date: Fri, 5 Mar 2021 20:22:55 +0000 Subject: Update comments --- challenge-100/paulo-custodio/python/ch-1.py | 2 ++ challenge-100/paulo-custodio/python/ch-2.py | 2 ++ 2 files changed, 4 insertions(+) (limited to 'challenge-100/paulo-custodio/python') diff --git a/challenge-100/paulo-custodio/python/ch-1.py b/challenge-100/paulo-custodio/python/ch-1.py index 818624d76b..7cabc2f1a7 100644 --- a/challenge-100/paulo-custodio/python/ch-1.py +++ b/challenge-100/paulo-custodio/python/ch-1.py @@ -1,5 +1,7 @@ #!/usr/bin/env python +# Challenge 100 +# # TASK #1 > Fun Time # Submitted by: Mohammad S Anwar # You are given a time (12 hour / 24 hour). diff --git a/challenge-100/paulo-custodio/python/ch-2.py b/challenge-100/paulo-custodio/python/ch-2.py index 9491b675e0..1f27d99c01 100644 --- a/challenge-100/paulo-custodio/python/ch-2.py +++ b/challenge-100/paulo-custodio/python/ch-2.py @@ -1,5 +1,7 @@ #!/usr/bin/env python +# Challenge 100 +# # TASK #2 > Triangle Sum # Submitted by: Mohammad S Anwar # You are given triangle array. -- cgit