aboutsummaryrefslogtreecommitdiff
path: root/challenge-213/manfredi
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-213/manfredi')
-rwxr-xr-xchallenge-213/manfredi/perl/ch-1.pl24
-rwxr-xr-xchallenge-213/manfredi/python/ch-1.py24
2 files changed, 48 insertions, 0 deletions
diff --git a/challenge-213/manfredi/perl/ch-1.pl b/challenge-213/manfredi/perl/ch-1.pl
new file mode 100755
index 0000000000..821a48501e
--- /dev/null
+++ b/challenge-213/manfredi/perl/ch-1.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/env perl
+
+use v5.36;
+
+say "challenge-213-task1";
+
+# Task 1: Fun Sort
+# You are given a list of positive integers.
+# Write a script to sort the all even integers first then all odds in ascending order.
+
+while (<DATA>) {
+ chomp;
+ my @list = sort { $a <=> $b } split /,/;
+ my @even = grep { ! ($_ % 2) } @list;
+ my @odd = grep { $_ % 2 } @list;
+ my @out = (@even, @odd);
+ print "@out\n";
+}
+
+
+__DATA__
+3,6,1,4,5,2
+1,2
+1
diff --git a/challenge-213/manfredi/python/ch-1.py b/challenge-213/manfredi/python/ch-1.py
new file mode 100755
index 0000000000..25a1e70ea3
--- /dev/null
+++ b/challenge-213/manfredi/python/ch-1.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python3
+# Python 3.9.2 on Debian GNU/Linux 11 (bullseye)
+
+print('challenge-213-task1')
+
+# Task 1: Fun Sort
+# You are given a list of positive integers.
+# Write a script to sort the all even integers first then all odds in ascending order.
+
+def fun_sort(items: list[int]) -> list[int]:
+ items.sort()
+ out_even = [item for item in items if not item % 2 ]
+ out_odd = [item for item in items if item % 2 ]
+ out_even.extend(out_odd)
+ return out_even
+
+def main():
+ print(fun_sort([3, 6, 1, 4, 5, 2]))
+ print(fun_sort([1, 2]))
+ print(fun_sort([1]))
+
+
+if __name__ == '__main__':
+ main()