aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-08-19 10:36:06 +0100
committerGitHub <noreply@github.com>2024-08-19 10:36:06 +0100
commit01b241f1938d95a90c0d55a94c9822d6415f8741 (patch)
treeca6b0f31919a1370225e4af01ccab148c48b33dd
parentad2c688ba2d2473c667228fa3997c8da16ea790d (diff)
parentb3c486a16733a561659444015983c12fd470e181 (diff)
downloadperlweeklychallenge-club-01b241f1938d95a90c0d55a94c9822d6415f8741.tar.gz
perlweeklychallenge-club-01b241f1938d95a90c0d55a94c9822d6415f8741.tar.bz2
perlweeklychallenge-club-01b241f1938d95a90c0d55a94c9822d6415f8741.zip
Merge pull request #10652 from seaker/master
challenge 283, raku solutions
-rwxr-xr-xchallenge-283/feng-chang/raku/ch-1.raku5
-rwxr-xr-xchallenge-283/feng-chang/raku/ch-2.raku5
-rwxr-xr-xchallenge-283/feng-chang/raku/test.raku24
3 files changed, 34 insertions, 0 deletions
diff --git a/challenge-283/feng-chang/raku/ch-1.raku b/challenge-283/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..8cc7a30c72
--- /dev/null
+++ b/challenge-283/feng-chang/raku/ch-1.raku
@@ -0,0 +1,5 @@
+#!/bin/env raku
+
+unit sub MAIN(*@ints);
+
+put @ints.Bag.grep(*.value == 1).first.key;
diff --git a/challenge-283/feng-chang/raku/ch-2.raku b/challenge-283/feng-chang/raku/ch-2.raku
new file mode 100755
index 0000000000..198c8b62a5
--- /dev/null
+++ b/challenge-283/feng-chang/raku/ch-2.raku
@@ -0,0 +1,5 @@
+#!/bin/env raku
+
+unit sub MAIN(*@ints);
+
+put so (^+@ints).map({ +@ints.grep($_) == @ints[$_] }).all;
diff --git a/challenge-283/feng-chang/raku/test.raku b/challenge-283/feng-chang/raku/test.raku
new file mode 100755
index 0000000000..36afaab254
--- /dev/null
+++ b/challenge-283/feng-chang/raku/test.raku
@@ -0,0 +1,24 @@
+#!/bin/env raku
+
+# The Weekly Challenge 283
+use Test;
+
+sub pwc-test(Str:D $script, Bool :$deeply? = False, *@input) {
+ my ($expect, $assertion) = @input.splice(*-2, 2);
+ my $p = run $script, |@input, :out;
+ if $deeply {
+ is-deeply $p.out.slurp(:close).chomp.words.Bag, $expect, $assertion;
+ } else {
+ is $p.out.slurp(:close).chomp, $expect, $assertion;
+ }
+}
+
+# Task 1, Unique Number
+pwc-test './ch-1.raku', <3 3 1>, 1, 'Unique Number: 3,3,1 => 1';
+pwc-test './ch-1.raku', <3 2 4 2 4>, 3, 'Unique Number: 3,2,4,2,4 => 3';
+pwc-test './ch-1.raku', 1, 1, 'Unique Number: 1 => 1';
+pwc-test './ch-1.raku', <4 3 1 1 1 4>, 3, 'Unique Number: 4,3,1,1,1,4 => 3';
+
+# Task 2, Digit Count Value
+pwc-test './ch-2.raku', <1 2 1 0>, 'True', 'Digit Count Value: 1,2,1,0 => true';
+pwc-test './ch-2.raku', <3 3 0>, 'False', 'Digit Count Value: 3,3,0 => false';