diff options
| author | Luis Mochan <mochan@fis.unam.mx> | 2023-12-27 14:57:27 -0600 |
|---|---|---|
| committer | Luis Mochan <mochan@fis.unam.mx> | 2023-12-27 14:57:27 -0600 |
| commit | f9c88dbbb1e13bfb63f40d0dd3b8630850655d7b (patch) | |
| tree | cb922fb2f44a7ec7bd10cd13b3db9eb2d4fd14b5 /challenge-249/luca-ferrari/python | |
| parent | 23f378718ed93b9b8d9e51fe18f07a55f61dc9c1 (diff) | |
| parent | 4ece120b2f4c7b25b00eaad66524fb5d99fa58c3 (diff) | |
| download | perlweeklychallenge-club-f9c88dbbb1e13bfb63f40d0dd3b8630850655d7b.tar.gz perlweeklychallenge-club-f9c88dbbb1e13bfb63f40d0dd3b8630850655d7b.tar.bz2 perlweeklychallenge-club-f9c88dbbb1e13bfb63f40d0dd3b8630850655d7b.zip | |
Merge branch 'master' of github.com:manwar/perlweeklychallenge-club into challenges
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: ] ) + + |
