aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordeadmarshal <adeadmarshal@gmail.com>2023-12-31 03:27:44 -0500
committerdeadmarshal <adeadmarshal@gmail.com>2023-12-31 03:27:44 -0500
commit2d3bea7af2303cdb6bc749384a5bbbd0cbf49172 (patch)
tree1671b602b9dc62e43c76ea92ed1302425de30d15
parentb3e617f1c75b5f9f69c119e62a1a503b82a91412 (diff)
downloadperlweeklychallenge-club-2d3bea7af2303cdb6bc749384a5bbbd0cbf49172.tar.gz
perlweeklychallenge-club-2d3bea7af2303cdb6bc749384a5bbbd0cbf49172.tar.bz2
perlweeklychallenge-club-2d3bea7af2303cdb6bc749384a5bbbd0cbf49172.zip
TWC249
-rw-r--r--challenge-249/deadmarshal/blog.txt1
-rw-r--r--challenge-249/deadmarshal/perl/ch-1.pl15
-rw-r--r--challenge-249/deadmarshal/perl/ch-2.pl14
3 files changed, 30 insertions, 0 deletions
diff --git a/challenge-249/deadmarshal/blog.txt b/challenge-249/deadmarshal/blog.txt
new file mode 100644
index 0000000000..a2c094bc2a
--- /dev/null
+++ b/challenge-249/deadmarshal/blog.txt
@@ -0,0 +1 @@
+https://deadmarshal.blogspot.com/2023/12/twc249.html
diff --git a/challenge-249/deadmarshal/perl/ch-1.pl b/challenge-249/deadmarshal/perl/ch-1.pl
new file mode 100644
index 0000000000..6c4f506f97
--- /dev/null
+++ b/challenge-249/deadmarshal/perl/ch-1.pl
@@ -0,0 +1,15 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use List::Util qw(all);
+use Data::Show;
+
+sub equal_pairs{
+ my %h;
+ $h{$_}++ foreach @{$_[0]};
+ (all{$_%2} values %h) ? () : map{my $k=$_;map{[$k,$k]}1..$h{$k}/2}keys %h;
+}
+
+print show equal_pairs([3,2,3,2,2,2]);
+print show equal_pairs([1,2,3,4]);
+
diff --git a/challenge-249/deadmarshal/perl/ch-2.pl b/challenge-249/deadmarshal/perl/ch-2.pl
new file mode 100644
index 0000000000..0d34ed55a7
--- /dev/null
+++ b/challenge-249/deadmarshal/perl/ch-2.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Data::Show;
+
+sub di_string_match{
+ my ($i,$j) = (0,length $_[0]);
+ (map{$_ eq 'I' ? $i++ : $j--}split '',$_[0]),$i;
+}
+
+print show di_string_match('IDID');
+print show di_string_match('III');
+print show di_string_match('DDI');
+