diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-12-27 11:28:19 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-27 11:28:19 +0000 |
| commit | 4ece120b2f4c7b25b00eaad66524fb5d99fa58c3 (patch) | |
| tree | 7306628eec352a2a4873762a037e126b727b94bc /challenge-249/luca-ferrari/python | |
| parent | f9c0e59d3367bff903bf51e82768c336783103d9 (diff) | |
| parent | 3e655a098886fc8d97d1bb333236e989e892616c (diff) | |
| download | perlweeklychallenge-club-4ece120b2f4c7b25b00eaad66524fb5d99fa58c3.tar.gz perlweeklychallenge-club-4ece120b2f4c7b25b00eaad66524fb5d99fa58c3.tar.bz2 perlweeklychallenge-club-4ece120b2f4c7b25b00eaad66524fb5d99fa58c3.zip | |
Merge pull request #9303 from fluca1978/PWC249
PWC 249
Diffstat (limited to 'challenge-249/luca-ferrari/python')
| -rw-r--r-- | challenge-249/luca-ferrari/python/ch-1.py | 34 | ||||
| -rw-r--r-- | challenge-249/luca-ferrari/python/ch-2.py | 37 |
2 files changed, 71 insertions, 0 deletions
diff --git a/challenge-249/luca-ferrari/python/ch-1.py b/challenge-249/luca-ferrari/python/ch-1.py new file mode 100644 index 0000000000..229e3e2a00 --- /dev/null +++ b/challenge-249/luca-ferrari/python/ch-1.py @@ -0,0 +1,34 @@ +#!python + +# +# Perl Weekly Challenge 249 +# Task 1 +# +# See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-249/> +# + +import sys + +# task implementation +def main( argv ): + classification = {} + for i in argv: + if not i in classification: + classification[ i ] = 0 + classification[ i ] += 1 + + pairs = [] + for k in classification: + while classification[ k ] >= 2: + pairs.append( [ k, k ] ) + classification[ k ] -= 2 + + for p in pairs: + print( ", ".join( p ) ) + + +# invoke the main without the command itself +if __name__ == '__main__': + main( sys.argv[ 1: ] ) + + diff --git a/challenge-249/luca-ferrari/python/ch-2.py b/challenge-249/luca-ferrari/python/ch-2.py new file mode 100644 index 0000000000..50c8088458 --- /dev/null +++ b/challenge-249/luca-ferrari/python/ch-2.py @@ -0,0 +1,37 @@ +#!python + +# +# Perl Weekly Challenge 249 +# Task 2 +# +# See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-249/> +# + +import sys +from itertools import permutations + +# task implementation +def main( argv ): + nums = range( 0, len( argv[ 0 ] ) ) + + + for perm in permutations( nums ): + ok = True + for i in range( 0, len( perm ) - 1 ): + if argv[ 0 ][ i ] == 'D' and perm[ i ] > perm[ i + 1 ]: + ok = False + break + elif argv[ 0 ][ i ] == 'I' and perm[ i ] < perm[ i + 1 ]: + ok = False + break + + if ok: + print( ",".join( map( str, perm ) ) ) + return + + +# invoke the main without the command itself +if __name__ == '__main__': + main( sys.argv[ 1: ] ) + + |
