aboutsummaryrefslogtreecommitdiff
path: root/challenge-264/luca-ferrari/python
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-04-09 10:52:05 +0100
committerGitHub <noreply@github.com>2024-04-09 10:52:05 +0100
commit895d77950307a2c67c19d895e2fcf58ee3d1bffc (patch)
tree0534f5b6d1d51f7e837c5e1d38bda691fe345ab8 /challenge-264/luca-ferrari/python
parent9c5322948e7e59d7c5248ffabdbd3cf3b5d53c1e (diff)
parent2126fcd1ffcf87c9eb31ac28b50ff5fa9315bf0b (diff)
downloadperlweeklychallenge-club-895d77950307a2c67c19d895e2fcf58ee3d1bffc.tar.gz
perlweeklychallenge-club-895d77950307a2c67c19d895e2fcf58ee3d1bffc.tar.bz2
perlweeklychallenge-club-895d77950307a2c67c19d895e2fcf58ee3d1bffc.zip
Merge pull request #9898 from fluca1978/PWC264
PWC 264
Diffstat (limited to 'challenge-264/luca-ferrari/python')
-rw-r--r--challenge-264/luca-ferrari/python/ch-1.py38
-rw-r--r--challenge-264/luca-ferrari/python/ch-2.py46
2 files changed, 84 insertions, 0 deletions
diff --git a/challenge-264/luca-ferrari/python/ch-1.py b/challenge-264/luca-ferrari/python/ch-1.py
new file mode 100644
index 0000000000..7fb68142f6
--- /dev/null
+++ b/challenge-264/luca-ferrari/python/ch-1.py
@@ -0,0 +1,38 @@
+#!python
+
+#
+# Perl Weekly Challenge 264
+# Task 1
+#
+# See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-264>
+#
+
+import sys
+import re
+
+# task implementation
+# the return value will be printed
+def task_1( args ):
+ string = args[ 0 ]
+ letters = []
+
+ for letter in string:
+ if not letter.isupper():
+ continue
+
+ engine = re.compile( letter.lower() )
+ if not engine.search( string ):
+ continue
+
+ letters.append( letter )
+
+ if len( letters ) <= 0:
+ return ''
+
+ letters.sort()
+ return letters[ len( letters ) - 1 ]
+
+
+# invoke the main without the command itself
+if __name__ == '__main__':
+ print( task_1( sys.argv[ 1: ] ) )
diff --git a/challenge-264/luca-ferrari/python/ch-2.py b/challenge-264/luca-ferrari/python/ch-2.py
new file mode 100644
index 0000000000..3813d5710e
--- /dev/null
+++ b/challenge-264/luca-ferrari/python/ch-2.py
@@ -0,0 +1,46 @@
+#!python
+
+#
+# Perl Weekly Challenge 264
+# Task 2
+#
+# See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-264>
+#
+
+import sys
+
+# task implementation
+# the return value will be printed
+def task_2( args ):
+ source = []
+ indexes = []
+ target = []
+ swap = False
+ for v in args:
+ if v == '|':
+ swap = True
+ continue
+ else:
+ if swap:
+ indexes.append( int( v ) )
+ else:
+ source.append( int( v ) )
+
+
+ for i in range( 0, len( indexes ) ):
+ target_index = indexes[ i ]
+ if len( target ) <= target_index:
+ target.insert( target_index, source[ i ] )
+ else:
+ swapper = []
+ swapper = target[ 0 : target_index ]
+ swapper.append( source[ i ] )
+ swapper += target[ target_index : ]
+ target = swapper
+
+
+ return target
+
+# invoke the main without the command itself
+if __name__ == '__main__':
+ print( task_2( sys.argv[ 1: ] ) )