diff options
| author | Nuno Vieira <nunovieira220@gmail.com> | 2021-02-12 01:46:48 +0000 |
|---|---|---|
| committer | Nuno Vieira <nunovieira220@gmail.com> | 2021-02-12 01:46:48 +0000 |
| commit | dc7f4663f21944c4200251e7dee2e6c4b844338c (patch) | |
| tree | 32b008ce179fd92c07df5b3f2c532c2e8a193188 | |
| parent | 090da47b42eb061cec9f7f395e6aa17fd0b500a1 (diff) | |
| download | perlweeklychallenge-club-dc7f4663f21944c4200251e7dee2e6c4b844338c.tar.gz perlweeklychallenge-club-dc7f4663f21944c4200251e7dee2e6c4b844338c.tar.bz2 perlweeklychallenge-club-dc7f4663f21944c4200251e7dee2e6c4b844338c.zip | |
Add nunovieira220 perl solution to challenge 099
| -rw-r--r-- | challenge-099/nunovieira220/perl/ch-1.pl | 18 | ||||
| -rw-r--r-- | challenge-099/nunovieira220/perl/ch-2.pl | 25 |
2 files changed, 43 insertions, 0 deletions
diff --git a/challenge-099/nunovieira220/perl/ch-1.pl b/challenge-099/nunovieira220/perl/ch-1.pl new file mode 100644 index 0000000000..9f4be9dc9c --- /dev/null +++ b/challenge-099/nunovieira220/perl/ch-1.pl @@ -0,0 +1,18 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use feature qw(say); + +# Input +my $S = "abcde"; +my $P = "a*c?e"; + +# Pattern Match +$P =~ s/(\?|\*)/\.$1/g; + +my $res = 0; +$res = 1 if ($S =~ m/^${P}$/); + +# Output +say($res); diff --git a/challenge-099/nunovieira220/perl/ch-2.pl b/challenge-099/nunovieira220/perl/ch-2.pl new file mode 100644 index 0000000000..86a27b3db4 --- /dev/null +++ b/challenge-099/nunovieira220/perl/ch-2.pl @@ -0,0 +1,25 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use feature qw(say); + +# Input +my $S = "littleit"; +my $T = "lit"; + +# Output +say(counter($S, $T)); + +# Unique Subsequence +sub counter { + my ($S, $T) = @_; + + return 0 if(!length($T) || !length($S)); + + my $index = index($S, substr($T, 0, 1)); + my $last = length($T) == 1 ? 1 : 0; + + return 0 if($index == -1); + return $last + counter(substr($S, $index + 1), $T) + counter(substr($S, $index + 1), substr($T, 1)); +} |
