diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-11-02 10:49:09 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-02 10:49:09 +0000 |
| commit | adf72db47b4815535ea06c6923ed0db79fac8e15 (patch) | |
| tree | 54247f0073a22f972006ab023e27282e497b8652 | |
| parent | 51c585599f0d5a08899e0380f216a15be14b1167 (diff) | |
| parent | f440681893fcdec9eb47797f0f030e0345c8ef44 (diff) | |
| download | perlweeklychallenge-club-adf72db47b4815535ea06c6923ed0db79fac8e15.tar.gz perlweeklychallenge-club-adf72db47b4815535ea06c6923ed0db79fac8e15.tar.bz2 perlweeklychallenge-club-adf72db47b4815535ea06c6923ed0db79fac8e15.zip | |
Merge pull request #7018 from seaker/master
challenge #189, Feng Chang's raku solutions
| -rwxr-xr-x | challenge-189/feng-chang/raku/ch-1.raku | 9 | ||||
| -rwxr-xr-x | challenge-189/feng-chang/raku/ch-2.raku | 20 |
2 files changed, 29 insertions, 0 deletions
diff --git a/challenge-189/feng-chang/raku/ch-1.raku b/challenge-189/feng-chang/raku/ch-1.raku new file mode 100755 index 0000000000..c5900f29fb --- /dev/null +++ b/challenge-189/feng-chang/raku/ch-1.raku @@ -0,0 +1,9 @@ +#!/bin/env raku + +unit sub MAIN(*@C); + +my $c = @C.pop; +put do given @C.grep(* gt $c).min { + when 'a'..'z' { $_ } + default { $c } +} diff --git a/challenge-189/feng-chang/raku/ch-2.raku b/challenge-189/feng-chang/raku/ch-2.raku new file mode 100755 index 0000000000..ab7a3bc4e8 --- /dev/null +++ b/challenge-189/feng-chang/raku/ch-2.raku @@ -0,0 +1,20 @@ +#!/bin/env raku + +sub degree(@N is copy --> UInt:D) { + my $d = 0; + + while @N { + my $cnt = @N.grep(* == @N[0]).elems; + $d = $cnt if $cnt > $d; + @N .= grep(* != @N[0]); + } + + $d +} + +unit sub MAIN(*@n); + +my $d = degree(@n); +my @candidates = (^@n.elems X ^@n.elems).grep({.[1] ≥ .[0]}).grep({ $d == degree(@n[.minmax]) }); +my $min-val = @candidates.map({ .[1] - .[0] }).min; +put @n[@candidates.grep({ $min-val == .[1]-.[0] }).first.minmax]; |
