From 93424d2f86a103e895912599f00b2e4049555708 Mon Sep 17 00:00:00 2001 From: Simon Green Date: Sun, 13 Feb 2022 17:56:21 +1100 Subject: sgreen solutions to challenge 151 --- challenge-151/sgreen/python/ch-2.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 challenge-151/sgreen/python/ch-2.py (limited to 'challenge-151/sgreen/python/ch-2.py') diff --git a/challenge-151/sgreen/python/ch-2.py b/challenge-151/sgreen/python/ch-2.py new file mode 100755 index 0000000000..094f071037 --- /dev/null +++ b/challenge-151/sgreen/python/ch-2.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 + +import sys + + +def rob(haul, valuables): + if len(valuables) <= 2: + # We rob the remaining house, and take off with the haul! + return haul + valuables[0] + + # Call the function recursively skipping either one or two houses + hauls = [] + hauls.append(rob(haul+valuables[0], valuables[2:])) + if len(valuables) >= 4: + hauls.append(rob(haul+valuables[0], valuables[3:])) + + # Return the largest haul + return max(hauls) + + +def main(inputs): + valuables = list(map(int, inputs)) + largest_haul = rob(0, valuables) + print(largest_haul) + + +if __name__ == '__main__': + main(sys.argv[1:]) -- cgit