diff options
| author | Myoungjin JEON <jeongoon@gmail.com> | 2020-09-04 00:58:41 +1000 |
|---|---|---|
| committer | Myoungjin JEON <jeongoon@gmail.com> | 2020-09-04 00:58:41 +1000 |
| commit | fe6712730b6613f853c875973f67ad4dde7b9aba (patch) | |
| tree | 1d1fa8b0f6d9c7eecf5fab5647277b139befeb30 | |
| parent | e341257aebc02015342a242aacd7623e4cf3f67b (diff) | |
| parent | db59d527f1d45cf7b47ff3571bdafe1cfa6d5c4f (diff) | |
| download | perlweeklychallenge-club-fe6712730b6613f853c875973f67ad4dde7b9aba.tar.gz perlweeklychallenge-club-fe6712730b6613f853c875973f67ad4dde7b9aba.tar.bz2 perlweeklychallenge-club-fe6712730b6613f853c875973f67ad4dde7b9aba.zip | |
Merge remote-tracking branch 'upstream/master' into ch-076
| -rwxr-xr-x | challenge-076/mohammad-anwar/perl/ch-2.pl | 6 | ||||
| -rw-r--r-- | challenge-076/mohammad-anwar/perl/grid-with-space.txt (renamed from challenge-076/mohammad-anwar/perl/search-grid.txt) | 0 | ||||
| -rw-r--r-- | challenge-076/mohammad-anwar/perl/grid-without-space.txt | 19 | ||||
| -rw-r--r-- | challenge-076/neil-bowers/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-076/neil-bowers/perl/ch-2.pl | 53 | ||||
| -rw-r--r-- | challenge-076/neil-bowers/perl/pwc.txt | 19 | ||||
| -rw-r--r-- | challenge-076/roger-bell-west/blog.txt | 1 | ||||
| -rw-r--r-- | stats/pwc-current.json | 136 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 36 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 530 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 776 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 116 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 30 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 56 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 56 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 90 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 410 |
19 files changed, 1272 insertions, 1139 deletions
diff --git a/challenge-076/mohammad-anwar/perl/ch-2.pl b/challenge-076/mohammad-anwar/perl/ch-2.pl index 1133a7eddb..ef5ccfa344 100755 --- a/challenge-076/mohammad-anwar/perl/ch-2.pl +++ b/challenge-076/mohammad-anwar/perl/ch-2.pl @@ -144,13 +144,11 @@ sub horizontals { my $matrix = {}; foreach my $line (@$data) { chomp $line; - $line =~ s/\s+/ /g; + $line =~ s/\s+//g; my $l = ""; my @l = (); - foreach my $char (split /\s/,$line) { - $char =~ s/^\s+//g; - $char =~ s/\s+$//g; + foreach my $char (split //,$line) { push @l, $char; $l .= $char; } diff --git a/challenge-076/mohammad-anwar/perl/search-grid.txt b/challenge-076/mohammad-anwar/perl/grid-with-space.txt index 31cf2e0fd8..31cf2e0fd8 100644 --- a/challenge-076/mohammad-anwar/perl/search-grid.txt +++ b/challenge-076/mohammad-anwar/perl/grid-with-space.txt diff --git a/challenge-076/mohammad-anwar/perl/grid-without-space.txt b/challenge-076/mohammad-anwar/perl/grid-without-space.txt new file mode 100644 index 0000000000..b010521de2 --- /dev/null +++ b/challenge-076/mohammad-anwar/perl/grid-without-space.txt @@ -0,0 +1,19 @@ +BIDEMIATSUCCORST +LDEGGIWQHODEEHDP +USEIRUBUTEASLAGU +NGNIZILAICOSCNUD +TGMIDSTSARAREIFG +SRENMDCHASIVEELI +SCSHAEUEBROADMTE +HWOVLPEDDLAIULSS +RYONLASFCSTAOGOT +IGUSSRRUGOVARYOC +NRGPATNANGILAMOO +EIHACEIVIRUSESED +SETSUDTTGARLICNH +HVRMXLWIUMSNSOTB +AEAOFILCHTODCAEU +ZSCDFECAAIIRLNRF +ARIIANYUTOOOUTPF +RSECISNABOSCNERA +DRSMPCUUNELTESIL diff --git a/challenge-076/neil-bowers/blog.txt b/challenge-076/neil-bowers/blog.txt new file mode 100644 index 0000000000..7efb982ec0 --- /dev/null +++ b/challenge-076/neil-bowers/blog.txt @@ -0,0 +1 @@ +http://neilb.org/2020/09/03/wordsearch.html diff --git a/challenge-076/neil-bowers/perl/ch-2.pl b/challenge-076/neil-bowers/perl/ch-2.pl new file mode 100644 index 0000000000..8f5d5338a6 --- /dev/null +++ b/challenge-076/neil-bowers/perl/ch-2.pl @@ -0,0 +1,53 @@ +#!/usr/local/bin/perl +# +# solve-wordsearch - search for words (from a word list) in a wordsearch grid +# +use strict; +use warnings; +use v5.20; +use feature qw/ signatures /; +no warnings qw/ experimental::signatures /; +use File::Slurper qw/ read_lines /; + +die "usage: $0 <grid-file> <word-list>\n" unless @ARGV == 2; + +my @grid = map { [split('',lc($_))] } read_lines($ARGV[0]); +my %is_a_word = map { lc($_) => 1 } read_lines($ARGV[1]); +my $num_cols = int(@{ $grid[0] }); +my $num_rows = int(@grid); +my %found; + +scan_grid_for_words(); +print_words(); + +sub scan_grid_for_words { + for (my $row = 0; $row < $num_rows; ++$row) { + for (my $col = 0; $col < $num_cols; ++$col) { + foreach my $row_delta (-1, 0, 1) { + foreach my $col_delta (-1, 0, 1) { + next if $row_delta == 0 && $col_delta == 0; + scan_line_for_words($row, $col, $row_delta, $col_delta); + } + } + } + } +} + +sub scan_line_for_words ($row, $col, $row_delta, $col_delta) { + my $word = ""; + + while (on_grid($row,$col)) { + $word .= $grid[$row][$col]; + $found{$word}++ if $is_a_word{$word}; + $row += $row_delta; + $col += $col_delta; + } +} + +sub on_grid ($row, $col) { + return ($row < $num_rows && $row >= 0 && $col >= 0 && $col < $num_cols); +} + +sub print_words { + print "$_\n" for sort keys %found; +} diff --git a/challenge-076/neil-bowers/perl/pwc.txt b/challenge-076/neil-bowers/perl/pwc.txt new file mode 100644 index 0000000000..b010521de2 --- /dev/null +++ b/challenge-076/neil-bowers/perl/pwc.txt @@ -0,0 +1,19 @@ +BIDEMIATSUCCORST +LDEGGIWQHODEEHDP +USEIRUBUTEASLAGU +NGNIZILAICOSCNUD +TGMIDSTSARAREIFG +SRENMDCHASIVEELI +SCSHAEUEBROADMTE +HWOVLPEDDLAIULSS +RYONLASFCSTAOGOT +IGUSSRRUGOVARYOC +NRGPATNANGILAMOO +EIHACEIVIRUSESED +SETSUDTTGARLICNH +HVRMXLWIUMSNSOTB +AEAOFILCHTODCAEU +ZSCDFECAAIIRLNRF +ARIIANYUTOOOUTPF +RSECISNABOSCNERA +DRSMPCUUNELTESIL diff --git a/challenge-076/roger-bell-west/blog.txt b/challenge-076/roger-bell-west/blog.txt new file mode 100644 index 0000000000..da23bcd44b --- /dev/null +++ b/challenge-076/roger-bell-west/blog.txt @@ -0,0 +1 @@ +https://blog.firedrake.org/archive/2020/09/Perl_Weekly_Challenge_76__prime_sum_and_word_search.html diff --git a/stats/pwc-current.json b/stats/pwc-current.json index feb4f74452..ea3cde34c8 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,4 +1,7 @@ { + "subtitle" : { + "text" : "[Champions: 12] Last updated at 2020-09-03 12:51:37 GMT" + }, "yAxis" : { "title" : { "text" : "Total Solutions" @@ -6,37 +9,44 @@ }, "plotOptions" : { "series" : { - "borderWidth" : 0, "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 } }, "chart" : { "type" : "column" }, - "subtitle" : { - "text" : "[Champions: 10] Last updated at 2020-09-02 15:13:22 GMT" - }, "tooltip" : { "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", "followPointer" : 1, "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" }, + "legend" : { + "enabled" : 0 + }, + "title" : { + "text" : "Perl Weekly Challenge - 076" + }, + "xAxis" : { + "type" : "category" + }, "drilldown" : { "series" : [ { - "id" : "Alexander Pankoff", "name" : "Alexander Pankoff", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Alexander Pankoff" }, { + "id" : "Andinus", "data" : [ [ "Perl", @@ -47,7 +57,6 @@ 1 ] ], - "id" : "Andinus", "name" : "Andinus" }, { @@ -65,13 +74,13 @@ ] }, { + "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], - "name" : "Mark Anderson", "id" : "Mark Anderson" }, { @@ -95,58 +104,89 @@ 2 ] ], - "id" : "Roger Bell_West", - "name" : "Roger Bell_West" + "name" : "Myoungjin Jeon", + "id" : "Myoungjin Jeon" }, { - "name" : "Simon Green", - "id" : "Simon Green", "data" : [ [ "Perl", - 2 + 1 ], [ "Blog", 1 ] - ] + ], + "name" : "Neil Bowers", + "id" : "Neil Bowers" }, { "data" : [ [ + "Perl", + 2 + ], + [ "Raku", 2 + ], + [ + "Blog", + 1 ] ], - "id" : "Simon Proctor", - "name" : "Simon Proctor" + "name" : "Roger Bell_West", + "id" : "Roger Bell_West" }, { + "id" : "Simon Green", "data" : [ [ "Perl", + 2 + ], + [ + "Blog", 1 ] ], - "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + "name" : "Simon Green" }, { + "id" : "Simon Proctor", + "name" : "Simon Proctor", + "data" : [ + [ + "Raku", + 2 + ] + ] + }, + { + "id" : "Ulrich Rieke", "data" : [ [ "Perl", 1 ] ], + "name" : "Ulrich Rieke" + }, + { "id" : "Yet Ebreo", - "name" : "Yet Ebreo" + "name" : "Yet Ebreo", + "data" : [ + [ + "Perl", + 1 + ] + ] } ] }, "series" : [ { - "colorByPoint" : 1, "name" : "Perl Weekly Challenge - 076", "data" : [ { @@ -155,19 +195,19 @@ "y" : 2 }, { - "drilldown" : "Andinus", + "name" : "Andinus", "y" : 2, - "name" : "Andinus" + "drilldown" : "Andinus" }, { - "y" : 4, + "name" : "Luca Ferrari", "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari" + "y" : 4 }, { + "name" : "Mark Anderson", "y" : 2, - "drilldown" : "Mark Anderson", - "name" : "Mark Anderson" + "drilldown" : "Mark Anderson" }, { "y" : 1, @@ -175,13 +215,23 @@ "name" : "Mohammad S Anwar" }, { - "name" : "Roger Bell_West", + "name" : "Myoungjin Jeon", "y" : 4, - "drilldown" : "Roger Bell_West" + "drilldown" : "Myoungjin Jeon" + }, + { + "drilldown" : "Neil Bowers", + "y" : 2, + "name" : "Neil Bowers" + }, + { + "name" : "Roger Bell_West", + "drilldown" : "Roger Bell_West", + "y" : 5 }, { - "y" : 3, "drilldown" : "Simon Green", + "y" : 3, "name" : "Simon Green" }, { @@ -190,25 +240,17 @@ "drilldown" : "Simon Proctor" }, { + "name" : "Ulrich Rieke", "drilldown" : "Ulrich Rieke", - "y" : 1, - "name" : "Ulrich Rieke" + "y" : 1 }, { - "name" : "Yet Ebreo", "drilldown" : "Yet Ebreo", - "y" : 1 + "y" : 1, + "name" : "Yet Ebreo" } - ] + ], + "colorByPoint" : 1 } - ], - "xAxis" : { - "type" : "category" - }, - "title" : { - "text" : "Perl Weekly Challenge - 076" - }, - "legend" : { - "enabled" : 0 - } + ] } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 84bb24fd75..dc20fe0340 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,49 +1,49 @@ { - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, "yAxis" : { "title" : { "text" : null }, "min" : 0 }, + "subtitle" : { + "text" : "Last updated at 2020-09-03 12:51:37 GMT" + }, "chart" : { "type" : "column" }, - "subtitle" : { - "text" : "Last updated at 2020-09-02 15:13:22 GMT" - }, "legend" : { "enabled" : "false" }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, "series" : [ { - "name" : "Contributions", "dataLabels" : { - "color" : "#FFFFFF", - "y" : 10, - "format" : "{point.y:.0f}", "align" : "right", + "format" : "{point.y:.0f}", "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" }, "rotation" : -90, - "enabled" : "true" + "color" : "#FFFFFF", + "enabled" : "true", + "y" : 10 }, + "name" : "Contributions", "data" : [ [ "Blog", - 940 + 942 ], [ "Perl", - 3163 + 3166 ], [ "Raku", - 2059 + 2061 ] ] } @@ -52,12 +52,12 @@ "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, "xAxis" : { + "type" : "category", "labels" : { "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" } - }, - "type" : "category" + } } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index c067b96dab..dde3926bee 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,11 +1,21 @@ { + "tooltip" : { + "followPointer" : "true", + "headerFormat" : "<span style=\"font-size:11px\"></span>", + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>" + }, "legend" : { "enabled" : "false" }, + "title" : { + "text" : "Perl Weekly Challenge Language" + }, + "xAxis" : { + "type" : "category" + }, "drilldown" : { "series" : [ { - "name" : "001", "id" : "001", "data" : [ [ @@ -20,7 +30,8 @@ "Blog", 11 ] - ] + ], + "name" : "001" }, { "id" : "002", @@ -60,7 +71,6 @@ }, { "name" : "004", - "id" : "004", "data" : [ [ "Perl", @@ -74,9 +84,11 @@ "Blog", 10 ] - ] + ], + "id" : "004" }, { + "name" : "005", "data" : [ [ "Perl", @@ -91,8 +103,7 @@ 12 ] ], - "id" : "005", - "name" : "005" + "id" : "005" }, { "data" : [ @@ -109,10 +120,12 @@ 7 ] ], - "id" : "006", - "name" : "006" + "name" : "006", + "id" : "006" }, { + "id" : "007", + "name" : "007", "data" : [ [ "Perl", @@ -126,13 +139,11 @@ "Blog", 10 ] - ], - "id" : "007", - "name" : "007" + ] }, { - "name" : "008", "id" : "008", + "name" : "008", "data" : [ [ "Perl", @@ -149,6 +160,7 @@ ] }, { + "name" : "009", "data" : [ [ "Perl", @@ -163,11 +175,9 @@ 13 ] ], - "id" : "009", - "name" : "009" + "id" : "009" }, { - "id" : "010", "name" : "010", "data" : [ [ @@ -182,10 +192,10 @@ "Blog", 11 ] - ] + ], + "id" : "010" }, { - "id" : "011", "name" : "011", "data" : [ [ @@ -200,7 +210,8 @@ "Blog", 10 ] - ] + ], + "id" : "011" }, { "data" : [ @@ -221,6 +232,7 @@ "id" : "012" }, { + "id" : "013", "data" : [ [ "Perl", @@ -235,10 +247,10 @@ 13 ] ], - "id" : "013", "name" : "013" }, { + "name" : "014", "data" : [ [ "Perl", @@ -253,12 +265,9 @@ 15 ] ], - "name" : "014", "id" : "014" }, { - "name" : "015", - "id" : "015", "data" : [ [ "Perl", @@ -272,11 +281,12 @@ "Blog", 15 ] - ] + ], + "name" : "015", + "id" : "015" }, { "name" : "016", - "id" : "016", "data" : [ [ "Perl", @@ -290,9 +300,11 @@ "Blog", 12 ] - ] + ], + "id" : "016" }, { + "id" : "017", "data" : [ [ "Perl", @@ -307,10 +319,10 @@ 12 ] ], - "name" : "017", - "id" : "017" + "name" : "017" }, { + "name" : "018", "data" : [ [ "Perl", @@ -325,10 +337,10 @@ 14 ] ], - "name" : "018", "id" : "018" }, { + "id" : "019", "data" : [ [ "Perl", @@ -343,10 +355,10 @@ 13 ] ], - "id" : "019", "name" : "019" }, { + "name" : "020", "data" : [ [ "Perl", @@ -361,10 +373,10 @@ 13 ] ], - "name" : "020", "id" : "020" }, { + "name" : "021", "data" : [ [ "Perl", @@ -379,10 +391,10 @@ 10 ] ], - "id" : "021", - "name" : "021" + "id" : "021" }, { + "name" : "022", "data" : [ [ "Perl", @@ -397,12 +409,10 @@ 10 ] ], - "id" : "022", - "name" : "022" + "id" : "022" }, { "id" : "023", - "name" : "023", "data" : [ [ "Perl", @@ -416,11 +426,12 @@ "Blog", 12 ] - ] + ], + "name" : "023" }, { - "name" : "024", "id" : "024", + "name" : "024", "data" : [ [ "Perl", @@ -451,12 +462,12 @@ 12 ] ], - "id" : "025", - "name" : "025" + "name" : "025", + "id" : "025" }, { - "name" : "026", "id" : "026", + "name" : "026", "data" : [ [ "Perl", @@ -473,6 +484,7 @@ ] }, { + "name" : "027", "data" : [ [ "Perl", @@ -487,11 +499,9 @@ 9 ] ], - "id" : "027", - "name" : "027" + "id" : "027" }, { - "id" : "028", "name" : "028", "data" : [ [ @@ -506,10 +516,10 @@ "Blog", 9 ] - ] + ], + "id" : "028" }, { - "id" : "029", "name" : "029", "data" : [ [ @@ -524,7 +534,8 @@ "Blog", 12 ] - ] + ], + "id" : "029" }, { "id" : "030", @@ -545,6 +556,7 @@ ] }, { + "name" : "031", "data" : [ [ "Perl", @@ -559,12 +571,9 @@ 9 ] ], - "name" : "031", "id" : "031" }, { - "id" : "032", - "name" : "032", "data" : [ [ "Perl", @@ -578,11 +587,13 @@ "Blog", 10 ] - ] + ], + "name" : "032", + "id" : "032" }, { - "name" : "033", "id" : "033", + "name" : "033", "data" : [ [ "Perl", @@ -599,8 +610,6 @@ ] }, { - "name" : "034", - "id" : "034", "data" : [ [ "Perl", @@ -614,9 +623,12 @@ "Blog", 11 ] - ] + ], + "name" : "034", + "id" : "034" }, { + "id" : "035", "data" : [ [ "Perl", @@ -631,11 +643,9 @@ 9 ] ], - "name" : "035", - "id" : "035" + "name" : "035" }, { - "name" : "036", "id" : "036", "data" : [ [ @@ -650,9 +660,11 @@ "Blog", 11 ] - ] + ], + "name" : "036" }, { + "id" : "037", "data" : [ [ "Perl", @@ -667,12 +679,10 @@ 9 ] ], - "id" : "037", "name" : "037" }, { "id" : "038", - "name" : "038", "data" : [ [ "Perl", @@ -686,7 +696,8 @@ "Blog", 12 ] - ] + ], + "name" : "038" }, { "id" : "039", @@ -707,8 +718,6 @@ ] }, { - "name" : "040", - "id" : "040", "data" : [ [ "Perl", @@ -722,11 +731,12 @@ "Blog", 10 ] - ] + ], + "name" : "040", + "id" : "040" }, { "name" : "041", - "id" : "041", "data" : [ [ "Perl", @@ -740,11 +750,10 @@ "Blog", 9 ] - ] + ], + "id" : "041" }, { - "id" : "042", - "name" : "042", "data" : [ [ "Perl", @@ -758,11 +767,13 @@ "Blog", 11 ] - ] + ], + "name" : "042", + "id" : "042" }, { - "name" : "043", "id" : "043", + "name" : "043", "data" : [ [ "Perl", @@ -779,6 +790,7 @@ ] }, { + "name" : "044", "data" : [ [ "Perl", @@ -793,7 +805,6 @@ 11 ] ], - "name" : "044", "id" : "044" }, { @@ -829,12 +840,10 @@ 10 ] ], - "id" : "046", - "name" : "046" + "name" : "046", + "id" : "046" }, { - "id" : "047", - "name" : "047", "data" : [ [ "Perl", @ |
