aboutsummaryrefslogtreecommitdiff
path: root/challenge-244/sgreen/python
diff options
context:
space:
mode:
authorSimon Green <mail@simon.green>2023-11-26 22:22:13 +1100
committerSimon Green <mail@simon.green>2023-11-26 22:22:13 +1100
commit59481daad96eaa27bd9c4ecd81010941285c496e (patch)
tree1e9170f69bded2d6f8ab292efecfcc35d8aba26a /challenge-244/sgreen/python
parentd3c171ecb6715a7bd21a52fab583c4171605f5c0 (diff)
downloadperlweeklychallenge-club-59481daad96eaa27bd9c4ecd81010941285c496e.tar.gz
perlweeklychallenge-club-59481daad96eaa27bd9c4ecd81010941285c496e.tar.bz2
perlweeklychallenge-club-59481daad96eaa27bd9c4ecd81010941285c496e.zip
Simon's solution to challenge 244
Diffstat (limited to 'challenge-244/sgreen/python')
-rwxr-xr-xchallenge-244/sgreen/python/ch-1.py14
-rwxr-xr-xchallenge-244/sgreen/python/ch-2.py25
2 files changed, 39 insertions, 0 deletions
diff --git a/challenge-244/sgreen/python/ch-1.py b/challenge-244/sgreen/python/ch-1.py
new file mode 100755
index 0000000000..230798c214
--- /dev/null
+++ b/challenge-244/sgreen/python/ch-1.py
@@ -0,0 +1,14 @@
+#!/usr/bin/env python3
+
+import sys
+
+
+def main(ints):
+ solution = [sum(1 for j in ints if j < i) for i in ints]
+ print(*solution, sep=', ')
+
+
+if __name__ == '__main__':
+ # Convert input into integers
+ array = [int(n) for n in sys.argv[1:]]
+ main(array)
diff --git a/challenge-244/sgreen/python/ch-2.py b/challenge-244/sgreen/python/ch-2.py
new file mode 100755
index 0000000000..64f54aff7a
--- /dev/null
+++ b/challenge-244/sgreen/python/ch-2.py
@@ -0,0 +1,25 @@
+#!/usr/bin/env python3
+
+import sys
+from itertools import combinations
+
+
+def calculate_power(numbers):
+ '''Return the square of the maximum number multiplied by the smallest one'''
+ min_int = min(numbers)
+ max_int = max(numbers)
+ return max_int ** 2 * min_int
+
+
+def main(ints):
+ power = 0
+ for length in range(1, len(ints)+1):
+ power += sum(calculate_power(c) for c in combinations(ints, length))
+
+ print(power)
+
+
+if __name__ == '__main__':
+ # Convert input into integers
+ array = [int(n) for n in sys.argv[1:]]
+ main(array)