diff options
| author | Ruben Westerberg <drclaw@mac.com> | 2019-04-26 17:05:41 +1000 |
|---|---|---|
| committer | Ruben Westerberg <drclaw@mac.com> | 2019-04-26 17:05:41 +1000 |
| commit | 1000c6c958f646bd6d3842aa310aa90c56ee2dc4 (patch) | |
| tree | 57516ab8240bee27a0dfac1c91fca728a9420d27 | |
| parent | b570c3a7deefc44d50bbfa4876d8342ed28c0577 (diff) | |
| download | perlweeklychallenge-club-1000c6c958f646bd6d3842aa310aa90c56ee2dc4.tar.gz perlweeklychallenge-club-1000c6c958f646bd6d3842aa310aa90c56ee2dc4.tar.bz2 perlweeklychallenge-club-1000c6c958f646bd6d3842aa310aa90c56ee2dc4.zip | |
Fixed paths and missed anagram
Scripts not use common word file in the parent directory
Fixed the issue where the sorted letters was not checked when input was
in lexically sorted order
| -rw-r--r-- | challenge-005/ruben-westerberg/README | 3 | ||||
| -rw-r--r-- | challenge-005/ruben-westerberg/perl6/anagram.pm6 | 15 | ||||
| -rwxr-xr-x | challenge-005/ruben-westerberg/perl6/ch-1.p6 | 4 | ||||
| -rwxr-xr-x | challenge-005/ruben-westerberg/perl6/ch-2.p6 | 2 | ||||
| -rw-r--r-- | challenge-005/ruben-westerberg/words_alpha.txt (renamed from challenge-005/ruben-westerberg/perl6/words_alpha.txt) | 0 |
5 files changed, 12 insertions, 12 deletions
diff --git a/challenge-005/ruben-westerberg/README b/challenge-005/ruben-westerberg/README index 8a3637b1b3..562c87853c 100644 --- a/challenge-005/ruben-westerberg/README +++ b/challenge-005/ruben-westerberg/README @@ -4,3 +4,6 @@ Solution by Ruben Westerberg #Challenge 2: Write a program to find the sequence of characters that has the most anagrams +All solutions use an optional command line argument to specify a dictionary (one word per line) to check against. + +By default the words list/dictionary used is words_aplha.txt, which was sourced from https://github.com/dwyl/english-words diff --git a/challenge-005/ruben-westerberg/perl6/anagram.pm6 b/challenge-005/ruben-westerberg/perl6/anagram.pm6 index 0f4710d52f..ddb0d0e530 100644 --- a/challenge-005/ruben-westerberg/perl6/anagram.pm6 +++ b/challenge-005/ruben-westerberg/perl6/anagram.pm6 @@ -5,12 +5,14 @@ sub findAnangrams(@letters, @words) is export { my @anagrams; my $test; while * { - my $k=0; - my $l=0; + $test=@a.join(""); + @anagrams.append(@words.hyper(degree=>4,batch=>50000).grep: {$_ eq $test}); + my int $k=0; + my int $l=0; my $tmp; my $flag=False; - my $maxK=-1; - my $maxL=-1; + my int $maxK=-1; + my int $maxL=-1; while ($k < @a.elems-1) { $maxK= $k if ((@a[$k] lt @a[$k+1]) && ($k > $maxK)); @@ -27,12 +29,7 @@ sub findAnangrams(@letters, @words) is export { @a[$maxL]=$tmp; my @b=@a.splice($maxK+1).reverse; @a.=append(@b); - $test=@a.join(""); - #say $test; - @anagrams.append(@words.hyper(degree=>4,batch=>50000).grep: {$_ eq $test}); } - $test=@a.join(""); - @anagrams.append(@words.hyper(degree=>4,batch=>50000).grep: {$_ eq $test}); @anagrams; } diff --git a/challenge-005/ruben-westerberg/perl6/ch-1.p6 b/challenge-005/ruben-westerberg/perl6/ch-1.p6 index 308d37672c..c3ad9302a1 100755 --- a/challenge-005/ruben-westerberg/perl6/ch-1.p6 +++ b/challenge-005/ruben-westerberg/perl6/ch-1.p6 @@ -1,8 +1,8 @@ #!/usr/bin/env perl6 # -use lib './'; +use lib $?FILE.IO.dirname; use anagram; -my $wordsFile= @*ARGS[0] // "words_alpha.txt"; +my $wordsFile= @*ARGS[0] // $?FILE.IO.dirname ~ "/../words_alpha.txt"; my @word-list=$wordsFile.IO.lines; while my $input=prompt "Give me a word: " { diff --git a/challenge-005/ruben-westerberg/perl6/ch-2.p6 b/challenge-005/ruben-westerberg/perl6/ch-2.p6 index 2ce015866c..5ebbce1a8c 100755 --- a/challenge-005/ruben-westerberg/perl6/ch-2.p6 +++ b/challenge-005/ruben-westerberg/perl6/ch-2.p6 @@ -1,5 +1,5 @@ #!/usr/bin/env perl6 -my $wordsFile=$*ARGS[0] // "words_alpha.txt"; +my $wordsFile=$*ARGS[0] // $?FILE.IO.dirname~"/../words_alpha.txt"; say $wordsFile.IO.lines.hyper(degree=>4, batch=>50000).map({ .split("")[1..*-2].sort.join; }).Bag.antipairs.max; diff --git a/challenge-005/ruben-westerberg/perl6/words_alpha.txt b/challenge-005/ruben-westerberg/words_alpha.txt index 1d9abced5d..1d9abced5d 100644 --- a/challenge-005/ruben-westerberg/perl6/words_alpha.txt +++ b/challenge-005/ruben-westerberg/words_alpha.txt |
