From 1dc92eccd2fea8e8c533cc7a990baa9c2a38b8e8 Mon Sep 17 00:00:00 2001 From: Steven Date: Tue, 20 Feb 2024 17:36:26 +0000 Subject: add solution week 257 task 1 in python --- challenge-257/steven-wilson/python/ch-1.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 challenge-257/steven-wilson/python/ch-1.py diff --git a/challenge-257/steven-wilson/python/ch-1.py b/challenge-257/steven-wilson/python/ch-1.py new file mode 100644 index 0000000000..9ceaaf849f --- /dev/null +++ b/challenge-257/steven-wilson/python/ch-1.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 + +from collections import Counter + + +def smaller_than_current(*integers): + ''' Given an array of integers, find out how many integers are smaller than + current i.e. foreach ints[i], count ints[j] < ints[i] where i != j + >>> smaller_than_current(5, 2, 1, 6) + (2, 1, 0, 3) + >>> smaller_than_current(1, 2, 0, 3) + (1, 2, 0, 3) + >>> smaller_than_current(0, 1) + (0, 1) + >>> smaller_than_current(9, 4, 9, 2) + (2, 1, 2, 0) + ''' + integer_counter = Counter(integers) + results = [] + for i in integers: + results.append(sum(count for key, count in integer_counter.items() + if key < i)) + return tuple(results) + + +if __name__ == "__main__": + import doctest + + doctest.testmod() -- cgit