aboutsummaryrefslogtreecommitdiff
path: root/challenge-194
diff options
context:
space:
mode:
authorJames Smith <js5@sanger.ac.uk>2022-12-05 07:25:11 +0000
committerGitHub <noreply@github.com>2022-12-05 07:25:11 +0000
commitcf1853b24ea672c662df6926a4eb22509b82ae63 (patch)
tree41b3503f4e939db2f2e42e96bbb16caf218fc570 /challenge-194
parent1018ced38ae62189adabafe461e4b269f802273d (diff)
downloadperlweeklychallenge-club-cf1853b24ea672c662df6926a4eb22509b82ae63.tar.gz
perlweeklychallenge-club-cf1853b24ea672c662df6926a4eb22509b82ae63.tar.bz2
perlweeklychallenge-club-cf1853b24ea672c662df6926a4eb22509b82ae63.zip
Create ch-2.pl
Diffstat (limited to 'challenge-194')
-rw-r--r--challenge-194/james-smith/perl/ch-2.pl18
1 files changed, 18 insertions, 0 deletions
diff --git a/challenge-194/james-smith/perl/ch-2.pl b/challenge-194/james-smith/perl/ch-2.pl
new file mode 100644
index 0000000000..167860f910
--- /dev/null
+++ b/challenge-194/james-smith/perl/ch-2.pl
@@ -0,0 +1,18 @@
+#!/usr/local/bin/perl
+
+use strict;
+
+use warnings;
+use feature qw(say);
+use Test::More;
+use Benchmark qw(cmpthese timethis);
+
+my @TESTS = ( ['abbc',1],['xyzyyxz',1],['xzxz',0] );
+
+is( check( $_->[0] ), $_->[1] ) for @TESTS;
+done_testing();
+
+sub check {
+ my %sc; $sc{$_} ++ for split //,$_[0];
+ sub { @_>2 && $_[0]==$_[1]+1 && $_[-1]==$_[1] ? 1 : 0 }->(sort {$b<=>$a} values %sc);
+}