diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-02-09 19:04:58 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-02-09 19:04:58 +0000 |
| commit | 52ac0b8e5b97473b74872273c1d8b13ff05effcd (patch) | |
| tree | 35303c1354e59258f4035902b324ec298ce5c974 | |
| parent | a0b172cb3fdd9b7c30e09551fc3b8bd665df3879 (diff) | |
| download | perlweeklychallenge-club-52ac0b8e5b97473b74872273c1d8b13ff05effcd.tar.gz perlweeklychallenge-club-52ac0b8e5b97473b74872273c1d8b13ff05effcd.tar.bz2 perlweeklychallenge-club-52ac0b8e5b97473b74872273c1d8b13ff05effcd.zip | |
- Added solutions by Laurent Rosenfeld.
| -rw-r--r-- | challenge-046/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-046/laurent-rosenfeld/perl/ch-1.pl | 25 | ||||
| -rw-r--r-- | challenge-046/laurent-rosenfeld/perl/ch-2.pl | 19 | ||||
| -rw-r--r-- | challenge-046/laurent-rosenfeld/raku/ch-1.p6 | 23 | ||||
| -rw-r--r-- | challenge-046/laurent-rosenfeld/raku/ch-2.p6 | 14 | ||||
| -rw-r--r-- | stats/pwc-current.json | 249 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 50 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 674 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 788 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 98 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 336 |
15 files changed, 1300 insertions, 1195 deletions
diff --git a/challenge-046/laurent-rosenfeld/blog.txt b/challenge-046/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..606496c69e --- /dev/null +++ b/challenge-046/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2020/02/perl-weekly-challenge-46-garbled-message-and-room-open.html diff --git a/challenge-046/laurent-rosenfeld/perl/ch-1.pl b/challenge-046/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..6f11cf85fa --- /dev/null +++ b/challenge-046/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,25 @@ +use strict; +use warnings; +use feature "say"; + +my $garbled = <<'END_MSG'; +P + 2 l ! a t o +1 e 8 0 R $ 4 u +5 - r ] + a > / +P x w l b 3 k \ +2 e 3 5 R 8 y u +< ! r ^ ( ) k 0 +END_MSG + +my @AoA = map { [ split /\s+/, $_] } split /[\r\n]+/, $garbled; +my @transposed; +for my $i (0 .. $#AoA) { + $transposed[$_][$i] = $AoA[$i][$_] for 0.. scalar @{$AoA[$i]} -1; +} +my @msg = ""; +for my $line_ref (@transposed) { + my %counter; + $counter{$_}++ for @$line_ref; + push @msg, grep { $counter{$_} > 1 } keys %counter; +} +say @msg; diff --git a/challenge-046/laurent-rosenfeld/perl/ch-2.pl b/challenge-046/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..115e1a23ee --- /dev/null +++ b/challenge-046/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,19 @@ +use strict; +use warnings; +use feature "say"; +use Data::Dumper; +use constant MAX => 50; + +# 1 => open, 0 => closed + +my @rooms = (1) x (MAX + 1); # (first employee) +my $start = 1; +for (2..MAX) { + $start++; + my $door = $start; + while ($door <= MAX) { + $rooms[$door] = $rooms[$door] ? 0 : 1; + $door += $start; + } +} +say join " ", @rooms[1..MAX]; diff --git a/challenge-046/laurent-rosenfeld/raku/ch-1.p6 b/challenge-046/laurent-rosenfeld/raku/ch-1.p6 new file mode 100644 index 0000000000..4aa8def134 --- /dev/null +++ b/challenge-046/laurent-rosenfeld/raku/ch-1.p6 @@ -0,0 +1,23 @@ +use v6; + +my $garbled = q:to/END_MSG/; +P + 2 l ! a t o +1 e 8 0 R $ 4 u +5 - r ] + a > / +P x w l b 3 k \ +2 e 3 5 R 8 y u +< ! r ^ ( ) k 0 +END_MSG + +my @AoA = map { my @a = split /\s+/, $_; @a }, split /<[\r\n]>+/, $garbled; +my @transposed; +for (0 .. @AoA.end) -> $i { + @transposed[$_][$i] = @AoA[$i][$_] for 0.. (@AoA[$i]).elems -1; +} +my @msg = ""; +for @transposed -> $line { + my BagHash $counter; + $counter{$_}++ for @$line; + push @msg, grep { $counter{$_} > 1 }, keys $counter; +} +say join "", @msg; diff --git a/challenge-046/laurent-rosenfeld/raku/ch-2.p6 b/challenge-046/laurent-rosenfeld/raku/ch-2.p6 new file mode 100644 index 0000000000..1776578dc8 --- /dev/null +++ b/challenge-046/laurent-rosenfeld/raku/ch-2.p6 @@ -0,0 +1,14 @@ +use v6; +constant MAX = 50; +my @rooms = 1 xx MAX + 1; # (first employee) +my $start = 1; +for 2..MAX { + $start++; + my $door = $start; + while $door <= MAX { + @rooms[$door] = @rooms[$door] ?? 0 !! 1; + $door += $start; + } + # say [+] @rooms[1..MAX]; +} +say join " ", @rooms[1..MAX]; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 4c55afb3f5..5516651a71 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,38 +1,29 @@ { + "subtitle" : { + "text" : "[Champions: 27] Last updated at 2020-02-09 19:03:35 GMT" + }, "title" : { "text" : "Perl Weekly Challenge - 046" }, - "xAxis" : { - "type" : "category" - }, - "tooltip" : { - "followPointer" : 1, - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" - }, - "legend" : { - "enabled" : 0 + "chart" : { + "type" : "column" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } + "yAxis" : { + "title" : { + "text" : "Total Solutions" } }, "drilldown" : { "series" : [ { + "name" : "Alicia Bielsa", "id" : "Alicia Bielsa", "data" : [ [ "Perl", 2 ] - ], - "name" : "Alicia Bielsa" + ] }, { "data" : [ @@ -41,11 +32,10 @@ 2 ] ], - "name" : "Andrezgz", - "id" : "Andrezgz" + "id" : "Andrezgz", + "name" : "Andrezgz" }, { - "id" : "Arne Sommer", "data" : [ [ "Raku", @@ -56,59 +46,61 @@ 1 ] ], + "id" : "Arne Sommer", "name" : "Arne Sommer" }, { - "name" : "Athanasius", "data" : [ [ "Perl", 2 ] ], + "name" : "Athanasius", "id" : "Athanasius" }, { + "name" : "Cristina Heredia", + "id" : "Cristina Heredia", "data" : [ [ "Perl", 2 ] - ], - "name" : "Cristina Heredia", - "id" : "Cristina Heredia" + ] }, { - "name" : "Dave Jacoby", "data" : [ [ "Perl", 2 ] ], + "name" : "Dave Jacoby", "id" : "Dave Jacoby" }, { - "id" : "Duane Powell", - "name" : "Duane Powell", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Duane Powell", + "id" : "Duane Powell" }, { - "id" : "Duncan C. White", "data" : [ [ "Perl", 2 ] ], + "id" : "Duncan C. White", "name" : "Duncan C. White" }, { + "name" : "E. Choroba", "id" : "E. Choroba", "data" : [ [ @@ -119,12 +111,9 @@ "Blog", 1 ] - ], - "name" : "E. Choroba" + ] }, { - "id" : "Javier Luque", - "name" : "Javier Luque", "data" : [ [ "Perl", @@ -138,7 +127,9 @@ "Blog", 1 ] - ] + ], + "id" : "Javier Luque", + "name" : "Javier Luque" }, { "id" : "Kevin Colyer", @@ -151,7 +142,24 @@ ] }, { - "id" : "Luca Ferrari", + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { "data" : [ [ "Raku", @@ -162,39 +170,41 @@ 1 ] ], + "id" : "Luca Ferrari", "name" : "Luca Ferrari" }, { - "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], - "id" : "Mark Anderson" + "id" : "Mark Anderson", + "name" : "Mark Anderson" }, { + "id" : "Markus Holzer", "name" : "Markus Holzer", "data" : [ [ "Raku", 2 ] - ], - "id" : "Markus Holzer" + ] }, { + "name" : "Mohammad S Anwar", "id" : "Mohammad S Anwar", "data" : [ [ "Perl", 2 ] - ], - "name" : "Mohammad S Anwar" + ] }, { + "id" : "Noud Aldenhoven", "name" : "Noud Aldenhoven", "data" : [ [ @@ -205,30 +215,30 @@ "Blog", 1 ] - ], - "id" : "Noud Aldenhoven" + ] }, { - "id" : "Peter Scott", "data" : [ [ "Perl", 1 ] ], - "name" : "Peter Scott" + "name" : "Peter Scott", + "id" : "Peter Scott" }, { "name" : "Rage311", + "id" : "Rage311", "data" : [ [ "Perl", 2 ] - ], - "id" : "Rage311" + ] }, { + "id" : "Roger Bell West", "name" : "Roger Bell West", "data" : [ [ @@ -239,11 +249,11 @@ "Raku", 2 ] - ], - "id" : "Roger Bell West" + ] }, { "id" : "Ruben Westerberg", + "name" : "Ruben Westerberg", "data" : [ [ "Perl", @@ -253,11 +263,9 @@ "Raku", 2 ] - ], - "name" : "Ruben Westerberg" + ] }, { - "name" : "Ryan Thompson", "data" : [ [ "Perl", @@ -272,6 +280,7 @@ 2 ] ], + "name" : "Ryan Thompson", "id" : "Ryan Thompson" }, { @@ -281,8 +290,8 @@ 2 ] ], - "name" : "Saif Ahmed", - "id" : "Saif Ahmed" + "id" : "Saif Ahmed", + "name" : "Saif Ahmed" }, { "data" : [ @@ -291,10 +300,11 @@ 2 ] ], - "name" : "Simon Proctor", - "id" : "Simon Proctor" + "id" : "Simon Proctor", + "name" : "Simon Proctor" }, { + "name" : "Ulrich Rieke", "id" : "Ulrich Rieke", "data" : [ [ @@ -305,8 +315,7 @@ "Raku", 2 ] - ], - "name" : "Ulrich Rieke" + ] }, { "id" : "User Person", @@ -325,54 +334,50 @@ 2 ] ], - "name" : "Wanderdoc", - "id" : "Wanderdoc" + "id" : "Wanderdoc", + "name" : "Wanderdoc" } ] }, - "subtitle" : { - "text" : "[Champions: 26] Last updated at 2020-02-09 17:07:47 GMT" - }, - "chart" : { - "type" : "column" + "xAxis" : { + "type" : "category" }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "tooltip" : { + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "followPointer" : 1 }, "series" : [ { - "name" : "Perl Weekly Challenge - 046", "data" : [ { "y" : 2, - "drilldown" : "Alicia Bielsa", - "name" : "Alicia Bielsa" + "name" : "Alicia Bielsa", + "drilldown" : "Alicia Bielsa" }, { - "y" : 2, "drilldown" : "Andrezgz", - "name" : "Andrezgz" + "name" : "Andrezgz", + "y" : 2 }, { - "y" : 3, + "drilldown" : "Arne Sommer", "name" : "Arne Sommer", - "drilldown" : "Arne Sommer" + "y" : 3 }, { - "drilldown" : "Athanasius", "name" : "Athanasius", + "drilldown" : "Athanasius", "y" : 2 }, { - "y" : 2, + "name" : "Cristina Heredia", "drilldown" : "Cristina Heredia", - "name" : "Cristina Heredia" + "y" : 2 }, { - "name" : "Dave Jacoby", "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby", "y" : 2 }, { @@ -381,24 +386,29 @@ "y" : 2 }, { - "name" : "Duncan C. White", "drilldown" : "Duncan C. White", + "name" : "Duncan C. White", "y" : 2 }, { "y" : 3, - "name" : "E. Choroba", - "drilldown" : "E. Choroba" + "drilldown" : "E. Choroba", + "name" : "E. Choroba" }, { + "y" : 5, "name" : "Javier Luque", - "drilldown" : "Javier Luque", - "y" : 5 + "drilldown" : "Javier Luque" }, { "y" : 2, - "name" : "Kevin Colyer", - "drilldown" : "Kevin Colyer" + "drilldown" : "Kevin Colyer", + "name" : "Kevin Colyer" + }, + { + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", + "y" : 5 }, { "y" : 3, @@ -406,54 +416,54 @@ "drilldown" : "Luca Ferrari" }, { - "name" : "Mark Anderson", "drilldown" : "Mark Anderson", + "name" : "Mark Anderson", "y" : 2 }, { - "y" : 2, "drilldown" : "Markus Holzer", - "name" : "Markus Holzer" + "name" : "Markus Holzer", + "y" : 2 }, { - "drilldown" : "Mohammad S Anwar", + "y" : 2, "name" : "Mohammad S Anwar", - "y" : 2 + "drilldown" : "Mohammad S Anwar" }, { - "y" : 3, "name" : "Noud Aldenhoven", - "drilldown" : "Noud Aldenhoven" + "drilldown" : "Noud Aldenhoven", + "y" : 3 }, { - "drilldown" : "Peter Scott", "name" : "Peter Scott", + "drilldown" : "Peter Scott", "y" : 1 }, { "y" : 2, - "drilldown" : "Rage311", - "name" : "Rage311" + "name" : "Rage311", + "drilldown" : "Rage311" }, { - "y" : 4, "drilldown" : "Roger Bell West", - "name" : "Roger Bell West" + "name" : "Roger Bell West", + "y" : 4 }, { - "drilldown" : "Ruben Westerberg", + "y" : 4, "name" : "Ruben Westerberg", - "y" : 4 + "drilldown" : "Ruben Westerberg" }, { - "name" : "Ryan Thompson", + "y" : 6, "drilldown" : "Ryan Thompson", - "y" : 6 + "name" : "Ryan Thompson" }, { + "y" : 2, "drilldown" : "Saif Ahmed", - "name" : "Saif Ahmed", - "y" : 2 + "name" : "Saif Ahmed" }, { "y" : 2, @@ -466,17 +476,30 @@ "y" : 4 }, { + "y" : 2, "name" : "User Person", - "drilldown" : "User Person", - "y" : 2 + "drilldown" : "User Person" }, { + "y" : 2, "drilldown" : "Wanderdoc", - "name" : "Wanderdoc", - "y" : 2 + "name" : "Wanderdoc" } ], - "colorByPoint" : 1 + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 046" + } + ], + "legend" : { + "enabled" : 0 + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 } - ] + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index fb0dee8518..7ec74d8df1 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { - "chart" : { - "type" : "column" + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, "subtitle" : { - "text" : "Last updated at 2020-02-09 17:07:47 GMT" + "text" : "Last updated at 2020-02-09 19:03:35 GMT" + }, + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "chart" : { + "type" : "column" }, "series" : [ { "data" : [ [ "Blog", - 492 + 493 ], [ "Perl", - 1894 + 1896 ], [ "Raku", - 1155 + 1157 ] ], "name" : "Contributions", "dataLabels" : { - "color" : "#FFFFFF", - "y" : 10, "format" : "{point.y:.0f}", + "align" : "right", + "y" : 10, "rotation" : -90, "enabled" : "true", + "color" : "#FFFFFF", "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "align" : "right" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } } } ], - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } + "legend" : { + "enabled" : "false" }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, "xAxis" : { - "type" : "category", "labels" : { "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" } - } - }, - "legend" : { - "enabled" : "false" - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + }, + "type" : "category" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index acf1781eff..e69bf98707 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,21 +1,10 @@ { - "legend" : { - "enabled" : "false" - }, - "xAxis" : { - "type" : "category" - }, - "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>" + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-02-09 19:03:35 GMT" }, "title" : { "text" : "Perl Weekly Challenge Language" }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-02-09 17:07:47 GMT" - }, "chart" : { "type" : "column" }, @@ -24,247 +13,11 @@ "text" : "Total Solutions" } }, - "series" : [ - { - "data" : [ - { - "name" : "#001", - "drilldown" : "001", - "y" : 140 - }, - { - "name" : "#002", - "drilldown" : "002", - "y" : 109 - }, - { - "y" : 71, - "drilldown" : "003", - "name" : "#003" - }, - { - "y" : 91, - "name" : "#004", - "drilldown" : "004" - }, - { - "name" : "#005", - "drilldown" : "005", - "y" : 71 - }, - { - "y" : 48, - "drilldown" : "006", - "name" : "#006" - }, - { - "drilldown" : "007", - "name" : "#007", - "y" : 56 - }, - { - "y" : 70, - "name" : "#008", - "drilldown" : "008" - }, - { - "drilldown" : "009", - "name" : "#009", - "y" : 68 - }, - { - "y" : 60, - "name" : "#010", - "drilldown" : "010" - }, - { - "y" : 79, - "name" : "#011", - "drilldown" : "011" - }, - { - "y" : 83, - "drilldown" : "012", - "name" : "#012" - }, - { - "name" : "#013", - "drilldown" : "013", - "y" : 76 - }, - { - "drilldown" : "014", - "name" : "#014", - "y" : 96 - }, - { - "y" : 93, - "name" : "#015", - "drilldown" : "015" - }, - { - "name" : "#016", - "drilldown" : "016", - "y" : 66 - }, - { - "name" : "#017", - "drilldown" : "017", - "y" : 79 - }, - { - "name" : "#018", - "drilldown" : "018", - "y" : 76 - }, - { - "drilldown" : "019", - "name" : "#019", - "y" : 95 - }, - { - "y" : 95, - "name" : "#020", - "drilldown" : "020" - }, - { - "y" : 67, - "name" : "#021", - "drilldown" : "021" - }, - { - "drilldown" : "022", - "name" : "#022", - "y" : 63 - }, - { - "name" : "#023", - "drilldown" : "023", - "y" : 91 - }, - { - "y" : 70, - "name" : "#024", - "drilldown" : "024" - }, - { - "y" : 55, - "drilldown" : "025", - "name" : "#025" - }, - { - "y" : 70, - "name" : "#026", - "drilldown" : "026" - }, - { - "drilldown" : "027", - "name" : "#027", - "y" : 58 - }, - { - "drilldown" : "028", - "name" : "#028", - "y" : 78 - }, - { - "name" : "#029", - "drilldown" : "029", - "y" : 77 - }, - { - "y" : 115, - "drilldown" : "030", - "name" : "#030" - }, - { - "name" : "#031", - "drilldown" : "031", - "y" : 87 - }, - { - "drilldown" : "032", - "name" : "#032", - "y" : 92 - }, - { - "drilldown" : "033", - "name" : "#033", - "y" : 108 - }, - { - "name" : "#034", - "drilldown" : "034", - "y" : 60 - }, - { - "name" : "#035", - "drilldown" : "035", - "y" : 60 - }, - { - "name" : "#036", - "drilldown" : "036", - "y" : 61 - }, - { - "name" : "#037", - "drilldown" : "037", - "y" : 63 - }, - { - "y" : 60, - "drilldown" : "038", - "name" : "#038" - }, - { - "y" : 60, - "name" : "#039", - "drilldown" : "039" - }, - { - "drilldown" : "040", - "name" : "#040", - "y" : 66 - }, - { - "name" : "#041", - "drilldown" : "041", - "y" : 69 - }, - { - "y" : 88, - "drilldown" : "042", - "name" : "#042" - }, - { - "drilldown" : "043", - "name" : "#043", - "y" : 65 - }, - { - "name" : "#044", - "drilldown" : "044", - "y" : 75 - }, - { - "name" : "#045", - "drilldown" : "045", - "y" : 93 - }, - { - "name" : "#046", - "drilldown" : "046", - "y" : 68 - } - ], - "name" : "Perl Weekly Challenge Languages", - "colorByPoint" : "true" - } - ], "drilldown" : { "series" : [ { + "name" : "001", + "id" : "001", "data" : [ [ "Perl", @@ -278,9 +31,7 @@ "Blog", 11 ] - ], - "name" : "001", - "id" : "001" + ] }, { "id" : "002", @@ -302,6 +53,7 @@ }, { "name" : "003", + "id" : "003", "data" : [ [ "Perl", @@ -315,8 +67,7 @@ "Blog", 9 ] - ], - "id" : "003" + ] }, { "data" : [ @@ -333,8 +84,8 @@ |
