aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Cross <dave@dave.org.uk>2020-10-04 10:06:35 +0100
committerDave Cross <dave@dave.org.uk>2020-10-04 10:06:35 +0100
commit6712a625f1ef3c8adeb6fdaa25d2fa53ebc99f6b (patch)
tree635360545c7ae803a8a037349d1e24794ea69d79
parent84ac3a3dadb3b8c522696ccd4c245cc1de557772 (diff)
downloadperlweeklychallenge-club-6712a625f1ef3c8adeb6fdaa25d2fa53ebc99f6b.tar.gz
perlweeklychallenge-club-6712a625f1ef3c8adeb6fdaa25d2fa53ebc99f6b.tar.bz2
perlweeklychallenge-club-6712a625f1ef3c8adeb6fdaa25d2fa53ebc99f6b.zip
Solutions to challenge 80
-rw-r--r--challenge-080/dave-cross/perl/ch-1.pl20
-rw-r--r--challenge-080/dave-cross/perl/ch-2.pl22
2 files changed, 42 insertions, 0 deletions
diff --git a/challenge-080/dave-cross/perl/ch-1.pl b/challenge-080/dave-cross/perl/ch-1.pl
new file mode 100644
index 0000000000..59d1ee0490
--- /dev/null
+++ b/challenge-080/dave-cross/perl/ch-1.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use feature 'say';
+
+my @in = grep { /-?\d+/ } @ARGV;
+
+die "You must give me a list of integers\n" unless @in;
+
+my %ints = map { $_ => 1 } @in;
+
+my $i = 1;
+
+while (1) {
+ last if ! exists $ints{$i};
+ $i++;
+}
+
+say $i;
diff --git a/challenge-080/dave-cross/perl/ch-2.pl b/challenge-080/dave-cross/perl/ch-2.pl
new file mode 100644
index 0000000000..4d4f03f0bf
--- /dev/null
+++ b/challenge-080/dave-cross/perl/ch-2.pl
@@ -0,0 +1,22 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use feature 'say';
+
+my @in = grep { /\d+/ } @ARGV;
+
+die "You must give me a list of positive integers\n" unless @in;
+
+my $sweets = @in;
+
+for (0 .. $#in) {
+ if ($_ > 0 and $in[$_] > $in[$_ - 1]) {
+ $sweets++;
+ }
+ if ($_ < $#in and $in[$_] > $in[$_ + 1]) {
+ $sweets++;
+ }
+}
+
+say $sweets;