diff options
| author | Simon Green <mail@simon.green> | 2025-05-25 22:02:38 +1000 |
|---|---|---|
| committer | Simon Green <mail@simon.green> | 2025-05-25 22:02:38 +1000 |
| commit | f8ffba5d2256ee11e2a9ff667cc042b12c4b307e (patch) | |
| tree | a484ff944e813d369c83b867ad1242e4a6e5d637 /challenge-322/sgreen/python/ch-2.py | |
| parent | 6c467a026c325f27386294744ad5d0456d6c1c50 (diff) | |
| download | perlweeklychallenge-club-f8ffba5d2256ee11e2a9ff667cc042b12c4b307e.tar.gz perlweeklychallenge-club-f8ffba5d2256ee11e2a9ff667cc042b12c4b307e.tar.bz2 perlweeklychallenge-club-f8ffba5d2256ee11e2a9ff667cc042b12c4b307e.zip | |
sgreen solutions to challenge 322
Diffstat (limited to 'challenge-322/sgreen/python/ch-2.py')
| -rwxr-xr-x | challenge-322/sgreen/python/ch-2.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/challenge-322/sgreen/python/ch-2.py b/challenge-322/sgreen/python/ch-2.py new file mode 100755 index 0000000000..152fcf9e6f --- /dev/null +++ b/challenge-322/sgreen/python/ch-2.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 + +import sys + + +def rank_array(ints: list) -> list: + """Return an array of the ranks of each element in a list + + Args: + ints (list): The input list + + Returns: + list: The position (1-based) of each integer + """ + # Generate a list of the sorted unique values. + sorted_list = sorted(set(ints)) + + # Return the position (1-based) of the each value. + return [sorted_list.index(i)+1 for i in ints] + + +def main(): + # Convert input into integers + array = [int(n) for n in sys.argv[1:]] + result = rank_array(array) + print(result) + + +if __name__ == '__main__': + main() |
