diff options
| author | Luis Mochan <mochan@fis.unam.mx> | 2024-02-12 22:55:54 -0600 |
|---|---|---|
| committer | Luis Mochan <mochan@fis.unam.mx> | 2024-02-12 22:55:54 -0600 |
| commit | 5eb1424cfc9adf481ad4b79640a060abffd65d1c (patch) | |
| tree | 83dd8cae7c2d979f286695e78b288e693789b85a | |
| parent | 94d2ed24dcd44638355ac7c5084e05d8b8ca9f41 (diff) | |
| download | perlweeklychallenge-club-5eb1424cfc9adf481ad4b79640a060abffd65d1c.tar.gz perlweeklychallenge-club-5eb1424cfc9adf481ad4b79640a060abffd65d1c.tar.bz2 perlweeklychallenge-club-5eb1424cfc9adf481ad4b79640a060abffd65d1c.zip | |
Solve PWC256
| -rw-r--r-- | challenge-256/wlmb/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-256/wlmb/perl/ch-1.pl | 20 | ||||
| -rwxr-xr-x | challenge-256/wlmb/perl/ch-2.pl | 13 |
3 files changed, 34 insertions, 0 deletions
diff --git a/challenge-256/wlmb/blog.txt b/challenge-256/wlmb/blog.txt new file mode 100644 index 0000000000..618be058ba --- /dev/null +++ b/challenge-256/wlmb/blog.txt @@ -0,0 +1 @@ +https://wlmb.github.io/2024/02/12/PWC256/ diff --git a/challenge-256/wlmb/perl/ch-1.pl b/challenge-256/wlmb/perl/ch-1.pl new file mode 100755 index 0000000000..4163c91776 --- /dev/null +++ b/challenge-256/wlmb/perl/ch-1.pl @@ -0,0 +1,20 @@ +#!/usr/bin/env perl +# Perl weekly challenge 256 +# Task 1: Maximum Pairs +# +# See https://wlmb.github.io/2024/02/12/PWC256/#task-1-maximum-pairs +use v5.36; +use List::Util qw(sum0); +die <<~"FIN" unless @ARGV; + Usage: $0 S1 [S2...] + to pair Si with the reverse SJ and count the resulting pairs + assuming at most one pair per string. + FIN +my %count; +my $reverse; +for (@ARGV){ + ++$count{$_}; + my $reverse=reverse $_; + --$count{$reverse} unless $reverse eq $_; +} +say "@ARGV -> ", (sum0 map {!$_} values %count)/2; diff --git a/challenge-256/wlmb/perl/ch-2.pl b/challenge-256/wlmb/perl/ch-2.pl new file mode 100755 index 0000000000..3a1cccab74 --- /dev/null +++ b/challenge-256/wlmb/perl/ch-2.pl @@ -0,0 +1,13 @@ +#!/usr/bin/env perl +# Perl weekly challenge 256 +# Task 2: Merge Strings +# +# See https://wlmb.github.io/2024/02/12/PWC256/#task-2-merge-strings +use v5.36; +sub next_char($x){ + shift @$x||"" +} +my ($x,$y)=map{[split ""]}@ARGV; +my $out=""; +$out.=next_char($x) . next_char($y) while(@$x||@$y); +say "@ARGV -> $out" |
