diff options
| author | James Smith <js5@sanger.ac.uk> | 2022-12-05 07:25:11 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-05 07:25:11 +0000 |
| commit | cf1853b24ea672c662df6926a4eb22509b82ae63 (patch) | |
| tree | 41b3503f4e939db2f2e42e96bbb16caf218fc570 /challenge-194 | |
| parent | 1018ced38ae62189adabafe461e4b269f802273d (diff) | |
| download | perlweeklychallenge-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.pl | 18 |
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); +} |
