diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-05-10 17:55:12 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-05-10 17:55:12 +0100 |
| commit | aa268a15060ccd7d3eb0c04c4e50fe588e224a94 (patch) | |
| tree | 95b7cf506e1117993b748b08c2b409b00aeaea2c | |
| parent | 8eb6a7efcc6698fe1c1fb7e1d98a36b93d667f5c (diff) | |
| download | perlweeklychallenge-club-aa268a15060ccd7d3eb0c04c4e50fe588e224a94.tar.gz perlweeklychallenge-club-aa268a15060ccd7d3eb0c04c4e50fe588e224a94.tar.bz2 perlweeklychallenge-club-aa268a15060ccd7d3eb0c04c4e50fe588e224a94.zip | |
- Added solutions by Laurent Rosenfeld.
| -rw-r--r-- | challenge-059/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-059/laurent-rosenfeld/perl/ch-1.pl | 16 | ||||
| -rw-r--r-- | challenge-059/laurent-rosenfeld/perl/ch-1a.pl | 31 | ||||
| -rw-r--r-- | challenge-059/laurent-rosenfeld/perl/ch-2.pl | 22 | ||||
| -rw-r--r-- | challenge-059/laurent-rosenfeld/raku/ch-1.p6 | 13 | ||||
| -rw-r--r-- | challenge-059/laurent-rosenfeld/raku/ch-1a.p6 | 6 | ||||
| -rw-r--r-- | challenge-059/laurent-rosenfeld/raku/ch-2.p6 | 17 | ||||
| -rw-r--r-- | stats/pwc-current.json | 237 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 64 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 422 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 716 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 102 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 50 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 376 |
18 files changed, 1179 insertions, 1050 deletions
diff --git a/challenge-059/laurent-rosenfeld/blog.txt b/challenge-059/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..ca3cb9f5cf --- /dev/null +++ b/challenge-059/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2020/05/perl-weekly-challenge-59-linked-lists-and-bit-sums.html diff --git a/challenge-059/laurent-rosenfeld/perl/ch-1.pl b/challenge-059/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..2a5c856811 --- /dev/null +++ b/challenge-059/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,16 @@ +use strict; +use warnings; +use feature "say"; + +sub partition { + my $k = shift; + my @before = grep {$_ < $k} @_; + my @after = grep {$_ >= $k} @_; + return @before, @after; +} + +my $k = shift; +my $list_str = shift // "1 4 3 2 5 2"; +my @list = $list_str =~ /\d+/g; +my @result = partition $k, @list; +say join " → ", @result; diff --git a/challenge-059/laurent-rosenfeld/perl/ch-1a.pl b/challenge-059/laurent-rosenfeld/perl/ch-1a.pl new file mode 100644 index 0000000000..f67014447f --- /dev/null +++ b/challenge-059/laurent-rosenfeld/perl/ch-1a.pl @@ -0,0 +1,31 @@ +use strict; +use warnings; +use feature qw/say/; +use Data::Dumper; + +sub create_linked_list { + my $input = shift; + my $L; + for my $val (reverse split / /, $input) { + my $pt = { value => $val, next => $L }; + $L = $pt; + } + return $L; +} + +my $k = shift; +my $list_str = shift // "1 4 3 2 5 2"; +my $list = create_linked_list $list_str; +# say Dumper $list; +my (@before, @after); +while (1) { + last unless defined $list->{value}; + my $temp = $list->{value}; + if ($temp < $k) { + push @before, $temp; + } else { + push @after, $temp; + } + $list = $list->{next} +} +say join " → ", @before, @after; diff --git a/challenge-059/laurent-rosenfeld/perl/ch-2.pl b/challenge-059/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..e7eb0e583d --- /dev/null +++ b/challenge-059/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,22 @@ +use strict; +use warnings; +use feature "say"; + +sub compare { + my ($m, $n) = @_; + my @a = split //, sprintf "%08b", $m; + my @b = split //, sprintf "%08b", $n; + my $cnt = 0; + for my $i (0..7) { + $cnt++ if $a[$i] != $b[$i]; + } + return $cnt; +} +my $diff = 0; +my @nums = @ARGV; +for my $i (0..$#nums) { + for my $j (($i+1) .. $#nums) { + $diff += compare $nums[$i], $nums[$j]; + } +} +say $diff; diff --git a/challenge-059/laurent-rosenfeld/raku/ch-1.p6 b/challenge-059/laurent-rosenfeld/raku/ch-1.p6 new file mode 100644 index 0000000000..8fea4b81bc --- /dev/null +++ b/challenge-059/laurent-rosenfeld/raku/ch-1.p6 @@ -0,0 +1,13 @@ +use v6; + +sub partition ($k, @list) { + my @before = grep {$_ < $k}, @list; + my @after = grep {$_ >= $k}, @list; + return |@before, |@after; +} + +sub MAIN ($k, Str $list-str = "1 4 3 2 5 2") { + my @list = $list-str.comb(/\d+/); + my @result = partition $k, @list; + say @result.join(" → "); +} diff --git a/challenge-059/laurent-rosenfeld/raku/ch-1a.p6 b/challenge-059/laurent-rosenfeld/raku/ch-1a.p6 new file mode 100644 index 0000000000..7f74cc8a46 --- /dev/null +++ b/challenge-059/laurent-rosenfeld/raku/ch-1a.p6 @@ -0,0 +1,6 @@ +use v6; + +my $k = 3; +my @vals = <1 4 3 2 5 2>; +my %out = classify { $_ < $k ?? 'before' !! 'after'}, @vals; +say join " → ", |%out<before>, |%out<after>; diff --git a/challenge-059/laurent-rosenfeld/raku/ch-2.p6 b/challenge-059/laurent-rosenfeld/raku/ch-2.p6 new file mode 100644 index 0000000000..c96a1787e9 --- /dev/null +++ b/challenge-059/laurent-rosenfeld/raku/ch-2.p6 @@ -0,0 +1,17 @@ +use v6; + +sub compare (UInt $m, UInt $n) { + my @a = $m.fmt('%08b').comb; + my @b = $n.fmt('%08b').comb; + my $cnt = 0; + for 0..7 -> $i { + $cnt++ if @a[$i] != @b[$i]; + } + return $cnt; +} +my $diff = 0; +for @*ARGS.combinations(2) -> $seq { + $diff += compare +$seq[0], +$seq[1]; +} + +say $diff; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index bc001e6ccf..02a81f5150 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,66 +1,78 @@ { - "title" : { - "text" : "Perl Weekly Challenge - 059" + "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 + "subtitle" : { + "text" : "[Champions: 25] Last updated at 2020-05-10 16:54:35 GMT" + }, + "legend" : { + "enabled" : 0 + }, + "xAxis" : { + "type" : "category" + }, + "chart" : { + "type" : "column" }, "series" : [ { - "name" : "Perl Weekly Challenge - 059", - "colorByPoint" : 1, "data" : [ { "name" : "Adam Russell", - "drilldown" : "Adam Russell", - "y" : 3 + "y" : 3, + "drilldown" : "Adam Russell" }, { + "drilldown" : "Arne Sommer", "y" : 3, - "name" : "Arne Sommer", - "drilldown" : "Arne Sommer" + "name" : "Arne Sommer" }, { "name" : "Athanasius", - "drilldown" : "Athanasius", - "y" : 4 + "y" : 4, + "drilldown" : "Athanasius" }, { - "y" : 3, + "name" : "Cheok-Yin Fung", "drilldown" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung" + "y" : 3 }, { - "name" : "Colin Crain", "drilldown" : "Colin Crain", - "y" : 5 + "y" : 5, + "name" : "Colin Crain" }, { "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby", - "y" : 4 + "y" : 4, + "name" : "Dave Jacoby" }, { + "y" : 3, "drilldown" : "E. Choroba", - "name" : "E. Choroba", - "y" : 3 + "name" : "E. Choroba" }, { - "drilldown" : "Jared Martin", "name" : "Jared Martin", - "y" : 3 + "y" : 3, + "drilldown" : "Jared Martin" }, { + "y" : 5, "drilldown" : "Javier Luque", - "name" : "Javier Luque", - "y" : 5 + "name" : "Javier Luque" }, { "drilldown" : "Jorg Sommrey", - "name" : "Jorg Sommrey", - "y" : 2 + "y" : 2, + "name" : "Jorg Sommrey" + }, + { + "y" : 5, + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" }, { "name" : "Leo Manfredi", @@ -69,13 +81,13 @@ }, { "y" : 4, - "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari" + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari" }, { - "drilldown" : "Mark Anderson", "name" : "Mark Anderson", - "y" : 2 + "y" : 2, + "drilldown" : "Mark Anderson" }, { "y" : 2, @@ -83,38 +95,38 @@ "name" : "Markus Holzer" }, { - "name" : "Mohammad S Anwar", + "y" : 5, "drilldown" : "Mohammad S Anwar", - "y" : 5 + "name" : "Mohammad S Anwar" }, { - "name" : "Noud Aldenhoven", + "y" : 2, "drilldown" : "Noud Aldenhoven", - "y" : 2 + "name" : "Noud Aldenhoven" }, { - "y" : 4, + "name" : "Roger Bell_West", "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West" + "y" : 4 }, { + "drilldown" : "Saif Ahmed", "y" : 2, - "name" : "Saif Ahmed", - "drilldown" : "Saif Ahmed" + "name" : "Saif Ahmed" }, { + "y" : 2, "drilldown" : "Sangeet Kar", - "name" : "Sangeet Kar", - "y" : 2 + "name" : "Sangeet Kar" }, { - "name" : "Shahed Nooshmand", "drilldown" : "Shahed Nooshmand", - "y" : 3 + "y" : 3, + "name" : "Shahed Nooshmand" }, { - "y" : 2, "drilldown" : "Simon Proctor", + "y" : 2, "name" : "Simon Proctor" }, { @@ -123,34 +135,41 @@ "name" : "Ulrich Rieke" }, { - "name" : "Wanderdoc", + "y" : 2, "drilldown" : "Wanderdoc", - "y" : 2 + "name" : "Wanderdoc" }, { "name" : "Yet Ebreo", "drilldown" : "Yet Ebreo", "y" : 2 } - ] + ], + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 059" } ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } } }, - "subtitle" : { - "text" : "[Champions: 24] Last updated at 2020-05-10 16:39:59 GMT" + "title" : { + "text" : "Perl Weekly Challenge - 059" }, - "legend" : { - "enabled" : 0 + "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 }, "drilldown" : { "series" : [ { "name" : "Adam Russell", - "id" : "Adam Russell", "data" : [ [ "Perl", @@ -160,7 +179,8 @@ "Blog", 1 ] - ] + ], + "id" : "Adam Russell" }, { "name" : "Arne Sommer", @@ -177,7 +197,7 @@ "id" : "Arne Sommer" }, { - "name" : "Athanasius", + "id" : "Athanasius", "data" : [ [ "Perl", @@ -188,11 +208,11 @@ 2 ] ], - "id" : "Athanasius" + "name" : "Athanasius" }, { - "name" : "Cheok-Yin Fung", "id" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung", "data" : [ [ "Perl", @@ -205,7 +225,7 @@ ] }, { - "id" : "Colin Crain", + "name" : "Colin Crain", "data" : [ [ "Perl", @@ -220,10 +240,9 @@ 1 ] ], - "name" : "Colin Crain" + "id" : "Colin Crain" }, { - "name" : "Dave Jacoby", "id" : "Dave Jacoby", "data" : [ [ @@ -234,7 +253,8 @@ "Blog", 2 ] - ] + ], + "name" : "Dave Jacoby" }, { "name" : "E. Choroba", @@ -266,6 +286,7 @@ }, { "id" : "Javier Luque", + "name" : "Javier Luque", "data" : [ [ "Perl", @@ -279,30 +300,48 @@ "Blog", 1 ] - ], - "name" : "Javier Luque" + ] }, { - "name" : "Jorg Sommrey", "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Jorg Sommrey" }, { - "name" : "Leo Manfredi", + "id" : "Laurent Rosenfeld", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Laurent Rosenfeld" + }, + { + "id" : "Leo Manfredi", "data" : [ [ "Perl", 1 ] ], - "id" : "Leo Manfredi" + "name" : "Leo Manfredi" }, { + "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -313,12 +352,10 @@ 2 ] ], - "id" : "Luca Ferrari", "name" : "Luca Ferrari" }, { "name" : "Mark Anderson", - "id" : "Mark Anderson", "data" : [ [ "Perl", @@ -328,21 +365,22 @@ "Raku", 1 ] - ] + ], + "id" : "Mark Anderson" }, { "id" : "Markus Holzer", + "name" : "Markus Holzer", "data" : [ [ "Raku", 2 ] - ], - "name" : "Markus Holzer" + ] }, { - "name" : "Mohammad S Anwar", "id" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -359,16 +397,17 @@ ] }, { + "name" : "Noud Aldenhoven", "data" : [ [ "Raku", 2 ] ], - "id" : "Noud Aldenhoven", - "name" : "Noud Aldenhoven" + "id" : "Noud Aldenhoven" }, { + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -379,31 +418,31 @@ 2 ] ], - "id" : "Roger Bell_West", "name" : "Roger Bell_West" }, { - "id" : "Saif Ahmed", "data" : [ [ "Perl", 2 ] ], - "name" : "Saif Ahmed" + "name" : "Saif Ahmed", + "id" : "Saif Ahmed" }, { "id" : "Sangeet Kar", + "name" : "Sangeet Kar", "data" : [ [ "Perl", 2 ] - ], - "name" : "Sangeet Kar" + ] }, { "id" : "Shahed Nooshmand", + "name" : "Shahed Nooshmand", "data" : [ [ "Raku", @@ -413,21 +452,21 @@ "Blog", 1 ] - ], - "name" : "Shahed Nooshmand" + ] }, { - "name" : "Simon Proctor", - "id" : "Simon Proctor", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Simon Proctor", + "id" : "Simon Proctor" }, { "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -437,8 +476,7 @@ "Raku", 2 ] - ], - "name" : "Ulrich Rieke" + ] }, { "id" : "Wanderdoc", @@ -451,30 +489,15 @@ "name" : "Wanderdoc" }, { + "name" : "Yet Ebreo", "data" : [ [ "Perl", 2 ] ], - "id" : "Yet Ebreo", - "name" : "Yet Ebreo" + "id" : "Yet Ebreo" } ] - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "xAxis" : { - "type" : "category" - }, - "chart" : { - "type" : "column" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 756b258339..929b8b0dd1 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { + "legend" : { + "enabled" : "false" + }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } + }, + "chart" : { + "type" : "column" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, + "subtitle" : { + "text" : "Last updated at 2020-05-10 16:54:35 GMT" + }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, "series" : [ { - "name" : "Contributions", "data" : [ [ "Blog", - 675 + 676 ], [ "Perl", - 2497 + 2499 ], [ "Raku", - 1565 + 1567 ] ], + "name" : "Contributions", "dataLabels" : { - "format" : "{point.y:.0f}", - "align" : "right", "color" : "#FFFFFF", + "y" : 10, "enabled" : "true", "rotation" : -90, - "y" : 10, "style" : { "fontSize" : "13px", "fontFamily" : "Verdana, sans-serif" - } + }, + "align" : "right", + "format" : "{point.y:.0f}" } } ], "title" : { "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "legend" : { - "enabled" : "false" - }, - "subtitle" : { - "text" : "Last updated at 2020-05-10 16:39:59 GMT" - }, - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - } - }, - "chart" : { - "type" : "column" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 9a71fa6fc9..fdf223a477 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,104 +1,98 @@ { - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-05-10 16:39:59 GMT" - }, - "legend" : { - "enabled" : "false" - }, "series" : [ { "name" : "Perl Weekly Challenge Languages", "colorByPoint" : "true", "data" : [ { - "drilldown" : "001", "name" : "#001", + "drilldown" : "001", "y" : 142 }, { - "y" : 109, + "name" : "#002", "drilldown" : "002", - "name" : "#002" + "y" : 109 }, { - "y" : 71, "name" : "#003", - "drilldown" : "003" + "drilldown" : "003", + "y" : 71 }, { - "y" : 91, "name" : "#004", + "y" : 91, "drilldown" : "004" }, { - "name" : "#005", "drilldown" : "005", - "y" : 72 + "y" : 72, + "name" : "#005" }, { + "y" : 52, "drilldown" : "006", - "name" : "#006", - "y" : 52 + "name" : "#006" }, { "name" : "#007", - "drilldown" : "007", - "y" : 59 + "y" : 59, + "drilldown" : "007" }, { - "y" : 72, + "name" : "#008", "drilldown" : "008", - "name" : "#008" + "y" : 72 }, { - "drilldown" : "009", "name" : "#009", + "drilldown" : "009", "y" : 68 }, { - "y" : 60, "drilldown" : "010", + "y" : 60, "name" : "#010" }, { "y" : 79, - "name" : "#011", - "drilldown" : "011" + "drilldown" : "011", + "name" : "#011" }, { - "y" : 83, "name" : "#012", + "y" : 83, "drilldown" : "012" }, { - "name" : "#013", + "y" : 76, "drilldown" : "013", - "y" : 76 + "name" : "#013" }, { "drilldown" : "014", - "name" : "#014", - "y" : 96 + "y" : 96, + "name" : "#014" }, { - "name" : "#015", "drilldown" : "015", - "y" : 93 + "y" : 93, + "name" : "#015" }, { - "y" : 66, "drilldown" : "016", + "y" : 66, "name" : "#016" }, { "name" : "#017", - "drilldown" : "017", - "y" : 79 + "y" : 79, + "drilldown" : "017" }, { - "y" : 76, "name" : "#018", - "drilldown" : "018" + "drilldown" : "018", + "y" : 76 }, { "y" : 97, @@ -106,29 +100,29 @@ "name" : "#019" }, { + "name" : "#020", "y" : 95, - "drilldown" : "020", - "name" : "#020" + "drilldown" : "020" }, { - "name" : "#021", "drilldown" : "021", - "y" : 67 + "y" : 67, + "name" : "#021" }, { "name" : "#022", - "drilldown" : "022", - "y" : 63 + "y" : 63, + "drilldown" : "022" }, { - "y" : 91, "name" : "#023", + "y" : 91, "drilldown" : "023" }, { "drilldown" : "024", - "name" : "#024", - "y" : 70 + "y" : 70, + "name" : "#024" }, { "name" : "#025", @@ -136,14 +130,14 @@ "y" : 55 }, { - "y" : 70, + "name" : "#026", "drilldown" : "026", - "name" : "#026" + "y" : 70 }, { - "drilldown" : "027", "name" : "#027", - "y" : 58 + "y" : 58, + "drilldown" : "027" }, { "name" : "#028", @@ -151,14 +145,14 @@ "y" : 78 }, { + "y" : 77, "drilldown" : "029", - "name" : "#029", - "y" : 77 + "name" : "#029" }, { - "drilldown" : "030", "name" : "#030", - "y" : 115 + "y" : 115, + "drilldown" : "030" }, { "name" : "#031", @@ -166,19 +160,19 @@ "y" : 87 }, { - "name" : "#032", "drilldown" : "032", - "y" : 92 + "y" : 92, + "name" : "#032" }, { - "drilldown" : "033", "name" : "#033", + "drilldown" : "033", "y" : 108 }, { - "drilldown" : "034", "name" : "#034", - "y" : 62 + "y" : 62, + "drilldown" : "034" }, { "name" : "#035", @@ -186,44 +180,44 @@ "y" : 62 }, { + "drilldown" : "036", "y" : 66, - "name" : "#036", - "drilldown" : "036" + "name" : "#036" }, { "name" : "#037", - "drilldown" : "037", - "y" : 63 + "y" : 63, + "drilldown" : "037" }, { + "y" : 65, "drilldown" : "038", - "name" : "#038", |
