diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-04-21 23:26:13 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-21 23:26:13 +0100 |
| commit | 2097ce40fc78d6508860d596baf89768836d35ee (patch) | |
| tree | cdd080d3143ddbfe940c76e7dce7f8abac4ab418 | |
| parent | cf4e18f239d3cf6d70843272487efe54cdc2bae3 (diff) | |
| parent | 2cd88e77862b139e1f093ebd33825e80e1ff411e (diff) | |
| download | perlweeklychallenge-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.raku | 10 | ||||
| -rw-r--r-- | challenge-265/asherbhs/raku/ch-2.raku | 10 |
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'; |
