diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-10-25 20:32:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-25 20:32:25 +0100 |
| commit | 261cfbb84e47f4f4f994e5f1d57fce33e2ca5e2f (patch) | |
| tree | 74c770cdeee0ece974394887d7689b6f601db873 | |
| parent | 7060175f1257c446a68362169625228e793043e9 (diff) | |
| parent | 420788c28e9d40b3a894b586760cabf7a5c50743 (diff) | |
| download | perlweeklychallenge-club-261cfbb84e47f4f4f994e5f1d57fce33e2ca5e2f.tar.gz perlweeklychallenge-club-261cfbb84e47f4f4f994e5f1d57fce33e2ca5e2f.tar.bz2 perlweeklychallenge-club-261cfbb84e47f4f4f994e5f1d57fce33e2ca5e2f.zip | |
Merge pull request #6966 from seaker/master
Challenge #188, Feng Chang's raku solutions
| -rwxr-xr-x | challenge-187/feng-chang/raku/ch-1.raku | 11 | ||||
| -rwxr-xr-x | challenge-187/feng-chang/raku/ch-2.raku | 15 | ||||
| -rw-r--r-- | challenge-187/feng-chang/raku/ex01.txt | 2 | ||||
| -rw-r--r-- | challenge-187/feng-chang/raku/ex02.txt | 2 | ||||
| -rw-r--r-- | challenge-187/feng-chang/raku/ex03.txt | 2 | ||||
| -rw-r--r-- | challenge-187/feng-chang/raku/ex04.txt | 2 | ||||
| -rwxr-xr-x | challenge-188/feng-chang/raku/ch-1.raku | 7 | ||||
| -rwxr-xr-x | challenge-188/feng-chang/raku/ch-2.raku | 11 |
8 files changed, 52 insertions, 0 deletions
diff --git a/challenge-187/feng-chang/raku/ch-1.raku b/challenge-187/feng-chang/raku/ch-1.raku new file mode 100755 index 0000000000..53aad8726b --- /dev/null +++ b/challenge-187/feng-chang/raku/ch-1.raku @@ -0,0 +1,11 @@ +#!/bin/env raku + +unit sub MAIN(Str:D $f where *.IO.e = 'ex01.txt'); + +my (\sd-foo, \ed-foo, \sd-bar, \ed-bar) = + $f.IO.lines.comb(/\d\d '-' \d\d/)».comb.map({ "{.[3]}{.[4]}-{.[0]}{.[1]}" }); + +my \year = '2022'; +put (("{year}-{sd-foo}".Date .. "{year}-{ed-foo}".Date) (&) + ("{year}-{sd-bar}".Date .. "{year}-{ed-bar}".Date) + ).elems, ' day(s)'; diff --git a/challenge-187/feng-chang/raku/ch-2.raku b/challenge-187/feng-chang/raku/ch-2.raku new file mode 100755 index 0000000000..50d4790d75 --- /dev/null +++ b/challenge-187/feng-chang/raku/ch-2.raku @@ -0,0 +1,15 @@ +#!/bin/env raku + +unit sub MAIN(*@a); + +my @Can = @a.sort({ $^b cmp $^a }).combinations(3).grep({ + .[0] + .[1] > .[2] and + .[1] + .[2] > .[0] and + .[2] + .[0] > .[1] +}); + +if @Can.elems == 0 { + put '()'; +} else { + put '(', @Can.grep({ .sum == @Can».sum.max }).first.join(', '), ')'; +} diff --git a/challenge-187/feng-chang/raku/ex01.txt b/challenge-187/feng-chang/raku/ex01.txt new file mode 100644 index 0000000000..b3345063c8 --- /dev/null +++ b/challenge-187/feng-chang/raku/ex01.txt @@ -0,0 +1,2 @@ +Foo => SD: '12-01' ED: '20-01' +Bar => SD: '15-01' ED: '18-01' diff --git a/challenge-187/feng-chang/raku/ex02.txt b/challenge-187/feng-chang/raku/ex02.txt new file mode 100644 index 0000000000..bee5dd3313 --- /dev/null +++ b/challenge-187/feng-chang/raku/ex02.txt @@ -0,0 +1,2 @@ +Foo => SD: '02-03' ED: '12-03' +Bar => SD: '13-03' ED: '14-03' diff --git a/challenge-187/feng-chang/raku/ex03.txt b/challenge-187/feng-chang/raku/ex03.txt new file mode 100644 index 0000000000..9f2441e6a9 --- /dev/null +++ b/challenge-187/feng-chang/raku/ex03.txt @@ -0,0 +1,2 @@ +Foo => SD: '02-03' ED: '12-03' +Bar => SD: '11-03' ED: '15-03' diff --git a/challenge-187/feng-chang/raku/ex04.txt b/challenge-187/feng-chang/raku/ex04.txt new file mode 100644 index 0000000000..5f193a0a13 --- /dev/null +++ b/challenge-187/feng-chang/raku/ex04.txt @@ -0,0 +1,2 @@ +Foo => SD: '30-03' ED: '05-04' +Bar => SD: '28-03' ED: '02-04' diff --git a/challenge-188/feng-chang/raku/ch-1.raku b/challenge-188/feng-chang/raku/ch-1.raku new file mode 100755 index 0000000000..84ad3bdca7 --- /dev/null +++ b/challenge-188/feng-chang/raku/ch-1.raku @@ -0,0 +1,7 @@ +#!/bin/env raku + +unit sub MAIN(*@nums); + +my Int \k = @nums.pop; +put '@list = (', @nums.join(', '), '), $k = ', k; +put @nums.combinations(2).grep({ .sum %% k }).elems; diff --git a/challenge-188/feng-chang/raku/ch-2.raku b/challenge-188/feng-chang/raku/ch-2.raku new file mode 100755 index 0000000000..751dff20bd --- /dev/null +++ b/challenge-188/feng-chang/raku/ch-2.raku @@ -0,0 +1,11 @@ +#!/bin/env raku + +unit sub MAIN(UInt:D $x is copy, UInt:D $y is copy); + +my UInt $cnt = 0; +while $x and $y { + $x ≥ $y ?? ($x -= $y) !! ($y -= $x); + ++$cnt; +} + +put $cnt; |
