aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-04-21 23:26:13 +0100
committerGitHub <noreply@github.com>2024-04-21 23:26:13 +0100
commit2097ce40fc78d6508860d596baf89768836d35ee (patch)
treecdd080d3143ddbfe940c76e7dce7f8abac4ab418
parentcf4e18f239d3cf6d70843272487efe54cdc2bae3 (diff)
parent2cd88e77862b139e1f093ebd33825e80e1ff411e (diff)
downloadperlweeklychallenge-club-2097ce40fc78d6508860d596baf89768836d35ee.tar.gz
perlweeklychallenge-club-2097ce40fc78d6508860d596baf89768836d35ee.tar.bz2
perlweeklychallenge-club-2097ce40fc78d6508860d596baf89768836d35ee.zip
Merge pull request #9968 from asherbhs/challenge-265
Challenge 265
-rw-r--r--challenge-265/asherbhs/raku/ch-1.raku10
-rw-r--r--challenge-265/asherbhs/raku/ch-2.raku10
2 files changed, 20 insertions, 0 deletions
diff --git a/challenge-265/asherbhs/raku/ch-1.raku b/challenge-265/asherbhs/raku/ch-1.raku
new file mode 100644
index 0000000000..a81cddabca
--- /dev/null
+++ b/challenge-265/asherbhs/raku/ch-1.raku
@@ -0,0 +1,10 @@
+sub appearance(Int:D @ints --> Int) {
+ my $len = 0.33 × @ints;
+ my @keys = @ints.Bag.grep(*.value ≥ $len)».key;
+ @keys ?? min @keys !! Int
+}
+
+say appearance Array[Int:D].new: 1, 2, 3, 3, 3, 3, 4, 2;
+say appearance Array[Int:D].new: 1, 1;
+say appearance Array[Int:D].new: 1, 2, 3;
+say appearance Array[Int:D].new: 1, 2, 3, 4;
diff --git a/challenge-265/asherbhs/raku/ch-2.raku b/challenge-265/asherbhs/raku/ch-2.raku
new file mode 100644
index 0000000000..cca5dd9640
--- /dev/null
+++ b/challenge-265/asherbhs/raku/ch-2.raku
@@ -0,0 +1,10 @@
+sub completing-word(Str:D $str, Str:D @str --> Str:D) {
+ my $str-bag = $str.lc.comb.grep(/<[a..z]>/).Bag;
+ my @completing = @str.grep($str-bag ⊆ *.comb.Bag);
+ @completing ?? @completing.min(*.chars) !! ''
+}
+
+say completing-word 'aBc 11c', Array[Str:D].new: 'accbbb', 'abc', 'abbc';
+say completing-word 'Da2 abc', Array[Str:D].new: 'abcm', 'baacd', 'abaadc';
+say completing-word 'JB 007', Array[Str:D].new: 'jj', 'bb', 'bjb';
+say completing-word 'aBcDeFg', Array[Str:D].new: 'abc', 'bcd', 'cde';