From 1c0933f0c2594679a6396cd86c5455b81d455ac7 Mon Sep 17 00:00:00 2001 From: Simon Green Date: Sat, 24 Dec 2022 16:14:46 +1100 Subject: Simon's solution to challenge 196 --- challenge-196/sgreen/python/ch-1.py | 20 ++++++++++++++++++++ challenge-196/sgreen/python/ch-2.py | 31 +++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100755 challenge-196/sgreen/python/ch-1.py create mode 100755 challenge-196/sgreen/python/ch-2.py (limited to 'challenge-196/sgreen/python') diff --git a/challenge-196/sgreen/python/ch-1.py b/challenge-196/sgreen/python/ch-1.py new file mode 100755 index 0000000000..57b37a70da --- /dev/null +++ b/challenge-196/sgreen/python/ch-1.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python3 + +from itertools import combinations +import sys + +def main(n): + # Work through all combinations of positions + for x in combinations(range(len(n)), 3): + i, j, k = sorted(x) + if n[i] < n[k] < n[j]: + print(f'({n[i]}, {n[j]}, {n[k]})') + return + + # No solution is found + print('()') + +if __name__ == '__main__': + # Turn the strings into integers + n = [int(i) for i in sys.argv[1:]] + main(n) diff --git a/challenge-196/sgreen/python/ch-2.py b/challenge-196/sgreen/python/ch-2.py new file mode 100755 index 0000000000..ce0f95cd62 --- /dev/null +++ b/challenge-196/sgreen/python/ch-2.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import sys + + +def main(n): + solutions = [] + + # Go through the list until it is exhausted + while len(n): + start = end = n.pop(0) + + # See if the next number is one more than the last value + while len(n) > 0 and n[0] == end+1: + end = n.pop(0) + + # We have found a range + if start != end: + solutions.append(f'[{start},{end}]') + + # Print solution + if solutions: + print(*solutions, sep=', ') + else: + print('No solutions found!') + + +if __name__ == '__main__': + # Turn the strings into integers + n = [int(i) for i in sys.argv[1:]] + main(n) -- cgit