diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-12-31 12:31:52 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-31 12:31:52 +0000 |
| commit | f4931876992f0bc30442b405ad45ec8586fe8a83 (patch) | |
| tree | 1671b602b9dc62e43c76ea92ed1302425de30d15 | |
| parent | b3e617f1c75b5f9f69c119e62a1a503b82a91412 (diff) | |
| parent | 2d3bea7af2303cdb6bc749384a5bbbd0cbf49172 (diff) | |
| download | perlweeklychallenge-club-f4931876992f0bc30442b405ad45ec8586fe8a83.tar.gz perlweeklychallenge-club-f4931876992f0bc30442b405ad45ec8586fe8a83.tar.bz2 perlweeklychallenge-club-f4931876992f0bc30442b405ad45ec8586fe8a83.zip | |
Merge pull request #9313 from deadmarshal/TWC249
TWC249
| -rw-r--r-- | challenge-249/deadmarshal/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-249/deadmarshal/perl/ch-1.pl | 15 | ||||
| -rw-r--r-- | challenge-249/deadmarshal/perl/ch-2.pl | 14 |
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'); + |
