diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-08-20 04:17:16 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-08-20 04:17:16 +0100 |
| commit | e36569c0953ae5b516a140d5bac859d8f9371c34 (patch) | |
| tree | e13bdafee18005b0edd2feaf4fdb2333d2293a1a | |
| parent | 75bffd0baa71835dbd73dae2dcef57b083a682f3 (diff) | |
| download | perlweeklychallenge-club-e36569c0953ae5b516a140d5bac859d8f9371c34.tar.gz perlweeklychallenge-club-e36569c0953ae5b516a140d5bac859d8f9371c34.tar.bz2 perlweeklychallenge-club-e36569c0953ae5b516a140d5bac859d8f9371c34.zip | |
- Added solutions by Laurent Rosenfeld.
| -rw-r--r-- | challenge-126/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-126/laurent-rosenfeld/julia/ch-1.jl | 10 | ||||
| -rw-r--r-- | challenge-126/laurent-rosenfeld/perl/ch-1.pl | 7 | ||||
| -rw-r--r-- | challenge-126/laurent-rosenfeld/perl/ch-2.pl | 52 | ||||
| -rw-r--r-- | challenge-126/laurent-rosenfeld/raku/ch-1.raku | 8 | ||||
| -rw-r--r-- | challenge-126/laurent-rosenfeld/raku/ch-2.raku | 41 | ||||
| -rw-r--r-- | stats/pwc-current.json | 191 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 86 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1788 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 396 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 26 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 112 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 526 |
19 files changed, 1853 insertions, 1711 deletions
diff --git a/challenge-126/laurent-rosenfeld/blog.txt b/challenge-126/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..e18a6a1df6 --- /dev/null +++ b/challenge-126/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2021/08/perl-weekly-challenge-126-count-numbers-and-minesweeper-game.html diff --git a/challenge-126/laurent-rosenfeld/julia/ch-1.jl b/challenge-126/laurent-rosenfeld/julia/ch-1.jl new file mode 100644 index 0000000000..88a02fa88b --- /dev/null +++ b/challenge-126/laurent-rosenfeld/julia/ch-1.jl @@ -0,0 +1,10 @@ +function check(n) + count = 0; + for i in 2:n + if ! contains("$i", "1") + count += 1 + end + end + println("There are $count integers without a 1 in the 1..$n range.") +end +check(24); diff --git a/challenge-126/laurent-rosenfeld/perl/ch-1.pl b/challenge-126/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..d87f77e9b7 --- /dev/null +++ b/challenge-126/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,7 @@ +use strict; +use warnings; +use feature qw/say/; + +my $n = shift // 24; +my $count = scalar grep {not /1/} 2..$n; +say "There are $count integers with no 1 in the 1..$n range"; diff --git a/challenge-126/laurent-rosenfeld/perl/ch-2.pl b/challenge-126/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..09deffa94a --- /dev/null +++ b/challenge-126/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,52 @@ +use strict; +use warnings; +use feature qw/say/; +use Data::Dumper; + +my (@mine_field, $max_i, $max_j); + +sub get_count { + my ($i, $j) = @_; + my $count = 0; + my @positions; + for my $k (-1, 0, +1) { + for my $m (-1, 0, +1) { + push @positions, [$i + $k, $j + $m] unless $k == 0 and $m == 0; + } + } + my $count_mines = 0; + for my $pos (@positions) { + next if $pos->[0] <0 or $pos->[1] < 0; + next if $pos->[0] > $max_i or $pos->[1] > $max_j; + $count_mines++ if $mine_field[$pos->[0]][$pos->[1]] eq 'x'; + } + return $count_mines; +} + +sub print_grid { + say "@$_" for @_; say ""; +} + +my @in_str = + ( "x * * * x * x x x x", + "* * * * * * * * * x", + "* * * * x * x * x *", + "* * * x x * * * * *", + "x * * * x * * * * x" ); + +# Populating an AoA from the array of strings +for my $line (@in_str) { + push @mine_field, [split /\s+/, $line]; +} + +$max_i = $#mine_field; +$max_j = $#{$mine_field[0]}; +print_grid @mine_field; + +for my $i (0..$max_i) { + for my $j (0..$max_j) { + next if $mine_field[$i][$j] eq 'x'; + $mine_field[$i][$j] = get_count $i, $j; + } +} +print_grid @mine_field; diff --git a/challenge-126/laurent-rosenfeld/raku/ch-1.raku b/challenge-126/laurent-rosenfeld/raku/ch-1.raku new file mode 100644 index 0000000000..12316518b6 --- /dev/null +++ b/challenge-126/laurent-rosenfeld/raku/ch-1.raku @@ -0,0 +1,8 @@ +sub check ( $n where { $n ~~ /^\d+$/} ) { + my $count = 0; + for 2..$n -> $i { + $count++ unless $i ~~ /1/; + } + say "There are $count integers without a 1 in the 1..$n range."; +} +check @*ARGS[0] // 24; diff --git a/challenge-126/laurent-rosenfeld/raku/ch-2.raku b/challenge-126/laurent-rosenfeld/raku/ch-2.raku new file mode 100644 index 0000000000..f3e1484be9 --- /dev/null +++ b/challenge-126/laurent-rosenfeld/raku/ch-2.raku @@ -0,0 +1,41 @@ +use v6; + +sub get-count (\i, \j) { + my $count = 0; + my @positions; + for -1, 0, +1 -> $k { + for -1, 0, +1 -> $m { + push @positions, (i + $k, j + $m) unless $k == $m == 0; + } + } + my $count-mines = 0; + for @positions -> $pos { + next if $pos[0] | $pos[1] < 0; + next if $pos[0] > $*max-i or $pos[1] > $*max-j; + $count-mines++ if @*mine-field[$pos[0]][$pos[1]] eq 'x'; + } + return $count-mines; +} + +my @in-str = + "x * * * x * x x x x", + "* * * * * * * * * x", + "* * * * x * x * x *", + "* * * x x * * * * *", + "x * * * x * * * * x"; + +my @*mine-field; +# Populating an AoA from the array of strings +for @in-str -> $line { + push @*mine-field, [split /\s+/, $line]; +} +say join "\n", @*mine-field, "\n"; +my $*max-i = @*mine-field.end; +my $*max-j = @*mine-field[0].end; +for 0..$*max-i -> $i { + for 0..$*max-j -> $j { + next if @*mine-field[$i][$j] eq 'x'; + @*mine-field[$i][$j] = get-count $i, $j; + } +} +say join "\n", @*mine-field; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index f69025621b..4aae60a6e3 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,14 +1,11 @@ { - "subtitle" : { - "text" : "[Champions: 17] Last updated at 2021-08-20 02:44:53 GMT" - }, "series" : [ { "data" : [ { + "drilldown" : "Andinus", "y" : 4, - "name" : "Andinus", - "drilldown" : "Andinus" + "name" : "Andinus" }, { "y" : 1, @@ -16,9 +13,9 @@ "name" : "Andrew Shitov" }, { - "name" : "Cristina Heredia", "drilldown" : "Cristina Heredia", - "y" : 1 + "y" : 1, + "name" : "Cristina Heredia" }, { "y" : 3, @@ -26,19 +23,24 @@ "name" : "Dave Jacoby" }, { - "y" : 6, "name" : "Flavio Poletti", + "y" : 6, "drilldown" : "Flavio Poletti" }, { "name" : "James Smith", - "drilldown" : "James Smith", - "y" : 3 + "y" : 3, + "drilldown" : "James Smith" }, { + "y" : 5, + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" + }, + { + "y" : 4, "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari", - "y" : 4 + "name" : "Luca Ferrari" }, { "name" : "Mark Anderson", @@ -46,86 +48,83 @@ "y" : 2 }, { - "name" : "Matthew Neleigh", "drilldown" : "Matthew Neleigh", - "y" : 2 + "y" : 2, + "name" : "Matthew Neleigh" }, { + "y" : 1, "drilldown" : "Olivier Delouya", - "name" : "Olivier Delouya", - "y" : 1 + "name" : "Olivier Delouya" }, { - "drilldown" : "Paul Fajman", "name" : "Paul Fajman", + "drilldown" : "Paul Fajman", "y" : 2 }, { "y" : 4, - "name" : "Roger Bell_West", - "drilldown" : "Roger Bell_West" + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West" }, { - "y" : 3, "name" : "Simon Green", - "drilldown" : "Simon Green" + "drilldown" : "Simon Green", + "y" : 3 }, { + "drilldown" : "Simon Proctor", "y" : 2, - "name" : "Simon Proctor", - "drilldown" : "Simon Proctor" + "name" : "Simon Proctor" }, { - "y" : 1, "drilldown" : "Steven Wilson", + "y" : 1, "name" : "Steven Wilson" }, { - "name" : "Stuart Little", + "y" : 4, "drilldown" : "Stuart Little", - "y" : 4 + "name" : "Stuart Little" }, { - "y" : 4, + "name" : "Ulrich Rieke", "drilldown" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + "y" : 4 } ], - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 126" + "name" : "The Weekly Challenge - 126", + "colorByPoint" : 1 } ], - "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/>" - }, - "chart" : { - "type" : "column" - }, "legend" : { "enabled" : 0 }, - "title" : { - "text" : "The Weekly Challenge - 126" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "tooltip" : { + "followPointer" : 1, + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" }, "plotOptions" : { "series" : { + "borderWidth" : 0, "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 + "format" : "{point.y}", + "enabled" : 1 + } } }, + "title" : { + "text" : "The Weekly Challenge - 126" + }, + "subtitle" : { + "text" : "[Champions: 18] Last updated at 2021-08-20 03:15:13 GMT" + }, "drilldown" : { "series" : [ { + "id" : "Andinus", + "name" : "Andinus", "data" : [ [ "Raku", @@ -135,19 +134,17 @@ "Blog", 2 ] - ], - "name" : "Andinus", - "id" : "Andinus" + ] }, { - "id" : "Andrew Shitov", - "name" : "Andrew Shitov", "data" : [ [ "Raku", 1 ] - ] + ], + "name" : "Andrew Shitov", + "id" : "Andrew Shitov" }, { "data" : [ @@ -156,12 +153,11 @@ 1 ] ], - "id" : "Cristina Heredia", - "name" : "Cristina Heredia" + "name" : "Cristina Heredia", + "id" : "Cristina Heredia" }, { "name" : "Dave Jacoby", - "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -171,10 +167,10 @@ "Blog", 1 ] - ] + ], + "id" : "Dave Jacoby" }, { - "name" : "Flavio Poletti", "id" : "Flavio Poletti", "data" : [ [ @@ -189,9 +185,11 @@ "Blog", 2 ] - ] + ], + "name" : "Flavio Poletti" }, { + "name" : "James Smith", "data" : [ [ "Perl", @@ -202,12 +200,30 @@ 1 ] ], - "id" : "James Smith", - "name" : "James Smith" + "id" : "James Smith" }, { "data" : [ [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld" + }, + { + "id" : "Luca Ferrari", + "data" : [ + [ "Raku", 2 ], @@ -216,51 +232,49 @@ 2 ] ], - "name" : "Luca Ferrari", - "id" : "Luca Ferrari" + "name" : "Luca Ferrari" }, { - "id" : "Mark Anderson", - "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Mark Anderson", + "id" : "Mark Anderson" }, { + "name" : "Matthew Neleigh", "data" : [ [ "Perl", 2 ] ], - "id" : "Matthew Neleigh", - "name" : "Matthew Neleigh" + "id" : "Matthew Neleigh" }, { "id" : "Olivier Delouya", - "name" : "Olivier Delouya", "data" : [ [ "Perl", 1 ] - ] + ], + "name" : "Olivier Delouya" }, { + "name" : "Paul Fajman", "data" : [ [ "Perl", 2 ] ], - "name" : "Paul Fajman", "id" : "Paul Fajman" }, { - "name" : "Roger Bell_West", "id" : "Roger Bell_West", "data" : [ [ @@ -271,10 +285,10 @@ "Raku", 2 ] - ] + ], + "name" : "Roger Bell_West" }, { - "id" : "Simon Green", "name" : "Simon Green", "data" : [ [ @@ -285,21 +299,22 @@ "Blog", 1 ] - ] + ], + "id" : "Simon Green" }, { + "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], - "name" : "Simon Proctor", "id" : "Simon Proctor" }, { - "name" : "Steven Wilson", "id" : "Steven Wilson", + "name" : "Steven Wilson", "data" : [ [ "Perl", @@ -318,10 +333,12 @@ 2 ] ], - "id" : "Stuart Little", - "name" : "Stuart Little" + "name" : "Stuart Little", + "id" : "Stuart Little" }, { + "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -331,13 +348,19 @@ "Raku", 2 ] - ], - "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + ] } ] }, + "chart" : { + "type" : "column" + }, "xAxis" : { "type" : "category" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index c3046b898a..b52220691e 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { + "chart" : { + "type" : "column" + }, + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "xAxis" : { + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + }, + "type" : "category" + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2021]" + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, "series" : [ { - "name" : "Contributions", - "dataLabels" : { - "enabled" : "true", - "align" : "right", - "rotation" : -90, - "color" : "#FFFFFF", - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, - "format" : "{point.y:.0f}", - "y" : 10 - }, "data" : [ [ "Blog", - 1811 + 1812 ], [ "Perl", - 6008 + 6010 ], [ "Raku", - 3742 + 3744 ] - ] - } - ], - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "subtitle" : { - "text" : "Last updated at 2021-08-20 02:44:53 GMT" - }, - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + ], + "name" : "Contributions", + "dataLabels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "align" : "right", + "enabled" : "true", + "format" : "{point.y:.0f}", + "y" : 10, + "rotation" : -90, + "color" : "#FFFFFF" } } - }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "chart" : { - "type" : "column" - }, + ], "legend" : { "enabled" : "false" }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2021]" + "subtitle" : { + "text" : "Last updated at 2021-08-20 03:15:13 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 3b5af339ca..d87fd1abaa 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,662 +1,15 @@ { - "tooltip" : { - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", - "followPointer" : "true", - "headerFormat" : "<span style=\"font-size:11px\"></span>" - }, - "series" : [ - { - "name" : "The Weekly Challenge Languages", - "colorByPoint" : "true", - "data" : [ - { - "y" : 161, - "drilldown" : "001", - "name" : "#001" - }, - { - "y" : 125, - "name" : "#002", - "drilldown" : "002" - }, - { - "name" : "#003", - "drilldown" : "003", - "y" : 81 - }, - { - "y" : 99, - "name" : "#004", - "drilldown" : "004" - }, - { - "y" : 78, - "name" : "#005", - "drilldown" : "005" - }, - { - "drilldown" : "006", - "name" : "#006", - "y" : 58 - }, - { - "drilldown" : "007", - "name" : "#007", - "y" : 64 - }, - { - "y" : 78, - "name" : "#008", - "drilldown" : "008" - }, - { - "y" : 76, - "drilldown" : "009", - "name" : "#009" - }, - { - "y" : 65, - "name" : "#010", - "drilldown" : "010" - }, - { - "y" : 85, - "name" : "#011", - "drilldown" : "011" - }, - { - "y" : 89, - "name" : "#012", - "drilldown" : "012" - }, - { - "drilldown" : "013", - "name" : "#013", - "y" : 85 - }, - { - "drilldown" : "014", - "name" : "#014", - "y" : 101 - }, - { - "y" : 99, - "drilldown" : "015", - "name" : "#015" - }, - { - "y" : 71, - "drilldown" : "016", - "name" : "#016" - }, - { - "y" : 84, - "drilldown" : "017", - "name" : "#017" - }, - { - "name" : "#018", - "drilldown" : "018", - "y" : 81 - }, - { - "name" : "#019", - "drilldown" : "019", - "y" : 103 - }, - { - "drilldown" : "020", - "name" : "#020", - "y" : 101 - }, - { - "y" : 72, - "name" : "#021", - "drilldown" : "021" - }, - { - "y" : 68, - "drilldown" : "022", - "name" : "#022" - }, - { - "name" : "#023", - "drilldown" : "023", - "y" : 97 - }, - { - "y" : 75, - "name" : "#024", - "drilldown" : "024" - }, - { - "y" : 59, - "drilldown" : "025", - "name" : "#025" - }, - { - "y" : 74, - "drilldown" : "026", - "name" : "#026" - }, - { - "y" : 60, - "drilldown" : "027", - "name" : "#027" - }, - { - "y" : 80, - "name" : "#028", - "drilldown" : "028" - }, - { - "y" : 79, - "drilldown" : "029", - "name" : "#029" - }, - { - "name" : "#030", - "drilldown" : "030", - "y" : 117 - }, - { - "name" : "#031", - "drilldown" : "031", - "y" : 89 - }, - { - "y" : 94, - "name" : "#032", - "drilldown" : "032" - }, - { - "name" : "#033", - "drilldown" : "033", - "y" : 110 - }, - { - "y" : 64, - "name" : "#034", - "drilldown" : "034" - }, - { - "y" : 64, - "name" : "#035", - "drilldown" : "035" - }, - { - "drilldown" : "036", - "name" : "#036", - "y" : 68 - }, - { - "drilldown" : "037", - "name" : "#037", - "y" : 67 - }, - { - "y" : 68, - "name" : "#038", - "drilldown" : "038" - }, - { - "y" : 62, - "name" : "#039", - "drilldown" : "039" - }, - { - "y" : 73, - "drilldown" : "040", - "name" : "#040" - }, - { - "name" : "#041", - "drilldown" : "041", - "y" : 76 - }, - { - "name" : "#042", - "drilldown" : "042", - "y" : 92 - }, - { - "name" : "#043", - "drilldown" : "043", - "y" : 68 - }, - { - "name" : "#044", - "drilldown" : "044", - "y" : 85 - }, - { - "name" : "#045", - "drilldown" : "045", - "y" : 96 - }, - { - "y" : 87, - "drilldown" : "046", - "name" : "#046" - }, - { - "drilldown" : "047", - "name" : "#047", - "y" : 84 - }, - { - "drilldown" : "048", - "name" : "#048", - "y" : 108 - }, - { - "drilldown" : "049", - "name" : "#049", - "y" : 89 - }, - { - "drilldown" : "050", - "name" : "#050", - "y" : 98 - }, - { - "drilldown" : "051", - "name" : "#051", - "y" : 89 - }, - { - "y" : 91, - "drilldown" : "052", - "name" : "#052" - }, - { - "y" : 101, - "name" : "#053", - "drilldown" : "053" - }, - { - "y" : 103, - "name" : "#054", - "drilldown" : "054" - }, - { - "name" : "#055", - "drilldown" : "055", - "y" : 88 - }, - { - "y" : 95, - "drilldown" : "056", - "name" : "#056" - }, - { - "name" : "#057", - "drilldown" : "057", - "y" : 80 - }, - { - "drilldown" : "058", - "name" : "#058", - "y" : 69 - }, - { - "y" : 89, - "drilldown" : "059", - "name" : "#059" - }, - { - "y" : 85, - "name" : "#060", - "drilldown" : "060" - }, - { - "name" : "#061", - "drilldown" : "061", - "y" : 81 - }, - { - "drilldown" : "062", - "name" : "#062", - "y" : 58 - }, - { - "y" : 89, - "drilldown" : "063", - "name" : "#063" - }, - { - "y" : 80, - "drilldown" : "064", - "name" : "#064" - }, - { - "name" : "#065", - "drilldown" : "065", - " |
