diff options
| author | sangeet <sangeet.kar@gmail.com> | 2020-06-13 07:21:35 +0000 |
|---|---|---|
| committer | sangeet <sangeet.kar@gmail.com> | 2020-06-13 07:21:35 +0000 |
| commit | 73fc954181caad569309a76e715bb5a7f2b92589 (patch) | |
| tree | 0457e4da7ca30e7a5cd21f75ef6bf14e2162fc56 | |
| parent | 0da7c3e8edf48be6dd6cae0ad0287a03af60ffbf (diff) | |
| download | perlweeklychallenge-club-73fc954181caad569309a76e715bb5a7f2b92589.tar.gz perlweeklychallenge-club-73fc954181caad569309a76e715bb5a7f2b92589.tar.bz2 perlweeklychallenge-club-73fc954181caad569309a76e715bb5a7f2b92589.zip | |
raku solutions
| -rwxr-xr-x | challenge-064/sangeet-kar/raku/ch-1.raku | 2 | ||||
| -rwxr-xr-x | challenge-064/sangeet-kar/raku/ch-2.raku | 23 |
2 files changed, 24 insertions, 1 deletions
diff --git a/challenge-064/sangeet-kar/raku/ch-1.raku b/challenge-064/sangeet-kar/raku/ch-1.raku index b39bc4e468..a1a4a9e63c 100755 --- a/challenge-064/sangeet-kar/raku/ch-1.raku +++ b/challenge-064/sangeet-kar/raku/ch-1.raku @@ -12,7 +12,7 @@ class Node { sub manhattan-dist ($pos, $goal) { ($goal »-« $pos).sum } sub next-states ($pos, $matrix) { - (((1, 0), (0, 1), (-1, 0), (0, -1)) »+» ($pos,*)).grep({(0 ≤ $_[0] < 0+$matrix) && (0 ≤ $_[1] < 0+$matrix[0])}).map({tuple($_)}); + (((1, 0), (0, 1), (-1, 0), (0, -1)) »+» ($pos,)).grep({(0 ≤ $_[0] < 0+$matrix) && (0 ≤ $_[1] < 0+$matrix[0])}).map({tuple($_)}) } sub move($curr-node, $pos, $matrix) { diff --git a/challenge-064/sangeet-kar/raku/ch-2.raku b/challenge-064/sangeet-kar/raku/ch-2.raku new file mode 100755 index 0000000000..ab0f03e78f --- /dev/null +++ b/challenge-064/sangeet-kar/raku/ch-2.raku @@ -0,0 +1,23 @@ +#!/usr/bin/env raku + +sub word-break($string, $words) { + my @ans; + recursive-helper($string, $words, (), @ans); + return @ans; +} + +sub recursive-helper($string, $words, $accum, @ans) { + unless $string { + @ans.push($accum); + return; + } + for $words.list { + recursive-helper($string.substr(.chars), $words, (|$accum, $_), @ans) if $string.starts-with($_); + } +} + +say word-break("perlweeklychallenge", <weekly challenge perl>); +say word-break("perlandraku", <python ruby haskell>); + +#multiple solutions +say word-break("perlandraku", <perl perland raku and>); |
