aboutsummaryrefslogtreecommitdiff
path: root/challenge-289
diff options
context:
space:
mode:
authorLuis Mochan <mochan@fis.unam.mx>2024-09-29 21:56:49 -0600
committerLuis Mochan <mochan@fis.unam.mx>2024-09-29 21:56:49 -0600
commit6af3d6e7678d3fd55bf80a5ba91a2a0d9c498608 (patch)
treef0b90980f2067c5e6088d204ac5fca796d19d704 /challenge-289
parent5bfb306153546664c3549d2aafab5a2bed4b1c88 (diff)
downloadperlweeklychallenge-club-6af3d6e7678d3fd55bf80a5ba91a2a0d9c498608.tar.gz
perlweeklychallenge-club-6af3d6e7678d3fd55bf80a5ba91a2a0d9c498608.tar.bz2
perlweeklychallenge-club-6af3d6e7678d3fd55bf80a5ba91a2a0d9c498608.zip
Solve PWC289
Diffstat (limited to 'challenge-289')
-rw-r--r--challenge-289/wlmb/blog.txt1
-rwxr-xr-xchallenge-289/wlmb/perl/ch-1.pl14
-rwxr-xr-xchallenge-289/wlmb/perl/ch-2.pl17
3 files changed, 32 insertions, 0 deletions
diff --git a/challenge-289/wlmb/blog.txt b/challenge-289/wlmb/blog.txt
new file mode 100644
index 0000000000..e057d21c10
--- /dev/null
+++ b/challenge-289/wlmb/blog.txt
@@ -0,0 +1 @@
+https://wlmb.github.io/2024/09/29/PWC289/
diff --git a/challenge-289/wlmb/perl/ch-1.pl b/challenge-289/wlmb/perl/ch-1.pl
new file mode 100755
index 0000000000..8a960d83cf
--- /dev/null
+++ b/challenge-289/wlmb/perl/ch-1.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/env perl
+# Perl weekly challenge 289
+# Task 1: Third Maximum
+#
+# See https://wlmb.github.io/2024/09/29/PWC289/#task-1-third-maximum
+use v5.36;
+die <<~"FIN" unless @ARGV;
+ Usage: $0 N1 N2...
+ to obtain the third maximum of the sequence of numbers N1 N2...
+ FIN
+my %count;
+++$count{$_} for @ARGV;
+my @sorted=sort {$b cmp $a} keys %count;
+say "@ARGV -> ", $sorted[2]//$sorted[0];
diff --git a/challenge-289/wlmb/perl/ch-2.pl b/challenge-289/wlmb/perl/ch-2.pl
new file mode 100755
index 0000000000..bf799e5ac0
--- /dev/null
+++ b/challenge-289/wlmb/perl/ch-2.pl
@@ -0,0 +1,17 @@
+#!/usr/bin/env perl
+# Perl weekly challenge 289
+# Task 2: Jumbled Letters
+#
+# See https://wlmb.github.io/2024/09/29/PWC289/#task-2-jumbled-letters
+use v5.36;
+$/=undef; # slurp
+sub randomize($string){
+ my $randomized="";
+ $randomized.=substr $string, (rand length $string), 1, "" while length $string;
+ $randomized
+}
+for(<>){
+ my $original=$_;
+ s/(\w)(\w*)(\w)/$1.(randomize $2).$3/mge;
+ say "$original->\n$_";
+}