diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2024-05-30 15:56:05 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2024-05-30 15:56:05 +0100 |
| commit | 42052c0da5da7af10c3e456ff24ee5d3c1d14a27 (patch) | |
| tree | b194e149daa89308527be3a3c817648f833023c3 | |
| parent | c5fc6935de67fc31841baab5f8ef0e8d28cbad03 (diff) | |
| download | perlweeklychallenge-club-42052c0da5da7af10c3e456ff24ee5d3c1d14a27.tar.gz perlweeklychallenge-club-42052c0da5da7af10c3e456ff24ee5d3c1d14a27.tar.bz2 perlweeklychallenge-club-42052c0da5da7af10c3e456ff24ee5d3c1d14a27.zip | |
- Added solutions by Wanderdoc.
| -rwxr-xr-x | challenge-271/wanderdoc/perl/ch-1.pl | 65 | ||||
| -rwxr-xr-x | challenge-271/wanderdoc/perl/ch-2.pl | 54 | ||||
| -rw-r--r-- | stats/pwc-current.json | 193 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 70 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 3722 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 744 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 120 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 92 | ||||
| -rw-r--r-- | stats/pwc-summary-271-300.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-301-330.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 122 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 46 |
18 files changed, 2886 insertions, 2752 deletions
diff --git a/challenge-271/wanderdoc/perl/ch-1.pl b/challenge-271/wanderdoc/perl/ch-1.pl new file mode 100755 index 0000000000..ece96b73c6 --- /dev/null +++ b/challenge-271/wanderdoc/perl/ch-1.pl @@ -0,0 +1,65 @@ +#!perl
+use strict;
+use warnings FATAL => qw(all);
+
+=prompt
+You are given a m x n binary matrix.
+
+Write a script to return the row number containing maximum ones, in case of more than one rows then return smallest row number.
+Example 1
+
+Input: $matrix = [ [0, 1],
+ [1, 0],
+ ]
+Output: 1
+
+Row 1 and Row 2 have the same number of ones, so return row 1.
+
+Example 2
+
+Input: $matrix = [ [0, 0, 0],
+ [1, 0, 1],
+ ]
+Output: 2
+
+Row 2 has the maximum ones, so return row 2.
+
+Example 3
+
+Input: $matrix = [ [0, 0],
+ [1, 1],
+ [0, 0],
+ ]
+Output: 2
+
+Row 2 have the maximum ones, so return row 2.
+=cut
+
+
+
+
+use List::Util qw(sum);
+# use POSIX qw(Inf);
+use Scalar::Util qw(dualvar);
+use Test2::V0;
+
+is(max_ones([[0, 1], [1, 0]]), 1, 'Example 1');
+is(max_ones([[0, 0, 0], [1, 0, 1]]), 2, 'Example 2');
+is(max_ones([[0, 0], [1, 1], [0, 0]]), 2, 'Example 3');
+
+done_testing();
+
+sub max_ones
+{
+ my $mtr = $_[0];
+ my $max = dualvar(0, "placeholder");
+ for my $row ( 1 .. $#$mtr + 1 ) # ( 0 .. $#$mtr )
+ {
+ my $sum = sum(@{$mtr->[$row - 1]});
+ if ( $sum > $max )
+ {
+ $max = dualvar($sum, "$row");
+ }
+ }
+ return $max eq 'placeholder' ? undef : $max . '';
+}
\ No newline at end of file diff --git a/challenge-271/wanderdoc/perl/ch-2.pl b/challenge-271/wanderdoc/perl/ch-2.pl new file mode 100755 index 0000000000..ffe9d1f901 --- /dev/null +++ b/challenge-271/wanderdoc/perl/ch-2.pl @@ -0,0 +1,54 @@ +#!perl
+use strict;
+use warnings FATAL => qw(all);
+
+=prompt
+You are give an array of integers, @ints.
+
+Write a script to sort the integers in ascending order by the number of 1 bits in their binary representation. In case more than one integers have the same number of 1 bits then sort them in ascending order.
+Example 1
+
+Input: @ints = (0, 1, 2, 3, 4, 5, 6, 7, 8)
+Output: (0, 1, 2, 4, 8, 3, 5, 6, 7)
+
+0 = 0 one bits
+1 = 1 one bits
+2 = 1 one bits
+4 = 1 one bits
+8 = 1 one bits
+3 = 2 one bits
+5 = 2 one bits
+6 = 2 one bits
+7 = 3 one bits
+
+Example 2
+
+Input: @ints = (1024, 512, 256, 128, 64)
+Output: (64, 128, 256, 512, 1024)
+
+All integers in the given array have one 1-bits, so just sort them in ascending order.
+=cut
+
+use Test2::V0;
+
+is(sort_by_1_bits(0, 1, 2, 3, 4, 5, 6, 7, 8), [0, 1, 2, 4, 8, 3, 5, 6, 7], 'Example 1');
+is(sort_by_1_bits(1024, 512, 256, 128, 64), [64, 128, 256, 512, 1024], 'Example 2');
+done_testing();
+
+
+
+sub sort_by_1_bits
+{
+ return [sort { count_set_bits($a) <=> count_set_bits($b) || $a <=> $b } @_];
+}
+
+
+
+sub count_set_bits
+{
+ my $dec = $_[0];
+ my $bit_string = sprintf ("%b", $dec);
+ my $bit_count = $bit_string =~ tr/1/1/;
+ return $bit_count;
+}
+
diff --git a/stats/pwc-current.json b/stats/pwc-current.json index b22d809b7e..efe1238d61 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,48 +1,40 @@ { - "subtitle" : { - "text" : "[Champions: 17] Last updated at 2024-05-29 11:20:23 GMT" - }, - "xAxis" : { - "type" : "category" - }, - "title" : { - "text" : "The Weekly Challenge - 271" - }, - "chart" : { - "type" : "column" + "legend" : { + "enabled" : 0 }, "series" : [ { + "colorByPoint" : 1, "data" : [ { + "name" : "Ali Moradi", "drilldown" : "Ali Moradi", - "y" : 5, - "name" : "Ali Moradi" + "y" : 5 }, { "drilldown" : "Athanasius", - "y" : 4, - "name" : "Athanasius" + "name" : "Athanasius", + "y" : 4 }, { + "y" : 3, "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby", - "y" : 3 + "name" : "Dave Jacoby" }, { "name" : "David Ferrone", - "y" : 2, - "drilldown" : "David Ferrone" + "drilldown" : "David Ferrone", + "y" : 2 }, { - "y" : 2, + "drilldown" : "Feng Chang", "name" : "Feng Chang", - "drilldown" : "Feng Chang" + "y" : 2 }, { - "drilldown" : "Laurent Rosenfeld", "y" : 6, - "name" : "Laurent Rosenfeld" + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld" }, { "drilldown" : "Luca Ferrari", @@ -50,9 +42,9 @@ "y" : 11 }, { - "y" : 2, + "drilldown" : "Mark Anderson", "name" : "Mark Anderson", - "drilldown" : "Mark Anderson" + "y" : 2 }, { "drilldown" : "Niels van Dijke", @@ -61,71 +53,62 @@ }, { "y" : 5, - "name" : "Packy Anderson", - "drilldown" : "Packy Anderson" + "drilldown" : "Packy Anderson", + "name" : "Packy Anderson" }, { "y" : 3, - "name" : "Peter Campbell Smith", - "drilldown" : "Peter Campbell Smith" + "drilldown" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith" }, { - "drilldown" : "Peter Meszaros", + "y" : 2, "name" : "Peter Meszaros", - "y" : 2 + "drilldown" : "Peter Meszaros" }, { + "name" : "Reinier Maliepaard", "drilldown" : "Reinier Maliepaard", - "y" : 3, - "name" : "Reinier Maliepaard" + "y" : 3 }, { - "name" : "Robbie Hatley", "y" : 3, - "drilldown" : "Robbie Hatley" + "drilldown" : "Robbie Hatley", + "name" : "Robbie Hatley" }, { + "y" : 4, "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 4 + "name" : "Roger Bell_West" }, { - "drilldown" : "Thomas Kohler", "name" : "Thomas Kohler", + "drilldown" : "Thomas Kohler", "y" : 4 }, { - "y" : 3, "name" : "W. Luis Mochan", - "drilldown" : "W. Luis Mochan" + "drilldown" : "W. Luis Mochan", + "y" : 3 + }, + { + "drilldown" : "Wanderdoc", + "name" : "Wanderdoc", + "y" : 2 } ], - "name" : "The Weekly Challenge - 271", - "colorByPoint" : 1 + "name" : "The Weekly Challenge - 271" } ], "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/>", - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "followPointer" : 1 }, "drilldown" : { "series" : [ { + "name" : "Ali Moradi", "data" : [ [ "Perl", @@ -140,12 +123,9 @@ 1 ] ], - "name" : "Ali Moradi", "id" : "Ali Moradi" }, { - "id" : "Athanasius", - "name" : "Athanasius", "data" : [ [ "Perl", @@ -155,9 +135,12 @@ "Raku", 2 ] - ] + ], + "name" : "Athanasius", + "id" : "Athanasius" }, { + "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -168,30 +151,30 @@ 1 ] ], - "id" : "Dave Jacoby", - "name" : "Dave Jacoby" + "id" : "Dave Jacoby" }, { + "id" : "David Ferrone", + "name" : "David Ferrone", "data" : [ [ "Perl", 2 ] - ], - "id" : "David Ferrone", - "name" : "David Ferrone" + ] }, { + "name" : "Feng Chang", "data" : [ [ "Raku", 2 ] ], - "id" : "Feng Chang", - "name" : "Feng Chang" + "id" : "Feng Chang" }, { + "id" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -206,11 +189,9 @@ 2 ] ], - "id" : "Laurent Rosenfeld", "name" : "Laurent Rosenfeld" }, { - "id" : "Luca Ferrari", "name" : "Luca Ferrari", "data" : [ [ @@ -221,29 +202,32 @@ "Blog", 9 ] - ] + ], + "id" : "Luca Ferrari" }, { - "id" : "Mark Anderson", "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Mark Anderson" }, { + "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], - "name" : "Niels van Dijke", "id" : "Niels van Dijke" }, { + "id" : "Packy Anderson", + "name" : "Packy Anderson", "data" : [ [ "Perl", @@ -257,13 +241,11 @@ "Blog", 1 ] - ], - "id" : "Packy Anderson", - "name" : "Packy Anderson" + ] }, { - "name" : "Peter Campbell Smith", "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -286,8 +268,6 @@ "id" : "Peter Meszaros" }, { - "id" : "Reinier Maliepaard", - "name" : "Reinier Maliepaard", "data" : [ [ "Perl", @@ -297,9 +277,13 @@ "Blog", 1 ] - ] + ], + "name" : "Reinier Maliepaard", + "id" : "Reinier Maliepaard" }, { + "id" : "Robbie Hatley", + "name" : "Robbie Hatley", "data" : [ [ "Perl", @@ -309,11 +293,10 @@ "Blog", 1 ] - ], - "id" : "Robbie Hatley", - "name" : "Robbie Hatley" + ] }, { + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -324,10 +307,10 @@ 2 ] ], - "id" : "Roger Bell_West", "name" : "Roger Bell_West" }, { + "name" : "Thomas Kohler", "data" : [ [ "Perl", @@ -338,7 +321,6 @@ 2 ] ], - "name" : "Thomas Kohler", "id" : "Thomas Kohler" }, { @@ -354,10 +336,43 @@ 1 ] ] + }, + { + "id" : "Wanderdoc", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Wanderdoc" } ] }, - "legend" : { - "enabled" : 0 + "xAxis" : { + "type" : "category" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "subtitle" : { + "text" : "[Champions: 18] Last updated at 2024-05-30 14:51:38 GMT" + }, + "chart" : { + "type" : "column" + }, + "title" : { + "text" : "The Weekly Challenge - 271" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 6b059ae7f2..f4eb2a3491 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,24 +1,49 @@ { + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2024]" + }, + "chart" : { + "type" : "column" + }, "xAxis" : { "labels" : { "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" } }, "type" : "category" }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, "subtitle" : { - "text" : "Last updated at 2024-05-29 11:20:22 GMT" + "text" : "Last updated at 2024-05-30 14:51:38 GMT" }, - "chart" : { - "type" : "column" + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2024]" + "legend" : { + "enabled" : "false" }, "series" : [ { + "dataLabels" : { + "color" : "#FFFFFF", + "format" : "{point.y:.0f}", + "enabled" : "true", + "y" : 10, + "rotation" : -90, + "align" : "right", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + }, + "name" : "Contributions", "data" : [ [ "Blog", @@ -26,38 +51,13 @@ ], [ "Perl", - 14024 + 14026 ], [ "Raku", 8138 ] - ], - "name" : "Contributions", - "dataLabels" : { - "y" : 10, - "format" : "{point.y:.0f}", - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "rotation" : -90, - "align" : "right", - "enabled" : "true", - "color" : "#FFFFFF" - } + ] } - ], - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "legend" : { - "enabled" : "false" - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - } + ] } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 6784595857..69a9057615 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -2,9 +2,1374 @@ "legend" : { "enabled" : "false" }, + "series" : [ + { + "name" : "The Weekly Challenge Languages", + "data" : [ + { + "y" : 168, + "name" : "#001", + "drilldown" : "001" + }, + { + "name" : "#002", + "drilldown" : "002", + "y" : 133 + }, + { + "y" : 91, + "name" : "#003", + "drilldown" : "003" + }, + { + "y" : 106, + "drilldown" : "004", + "name" : "#004" + }, + { + "name" : "#005", + "drilldown" : "005", + "y" : 82 + }, + { + "y" : 63, + "name" : "#006", + "drilldown" : "006" + }, + { + "y" : 71, + "name" : "#007", + "drilldown" : "007" + }, + { + "drilldown" : "008", + "name" : "#008", + "y" : 84 + }, + { + "y" : 82, + "drilldown" : "009", + "name" : "#009" + }, + { + "y" : 71, + "name" : "#010", + "drilldown" : "010" + }, + { + "y" : 91, + "drilldown" : "011", + "name" : "#011" + }, + { + "drilldown" : "012", + "name" : "#012", + "y" : 96 + }, + { + "y" : 88, + "drilldown" : "013", + "name" : "#013" + }, + { + "y" : 104, + "name" : "#014", + "drilldown" : "014" + }, + { + "name" : "#015", + "drilldown" : "015", + "y" : 103 + }, + { + "y" : 75, + "name" : "#016", + "drilldown" : "016" + }, + { + "y" : 87, + "name" : "#017", + "drilldown" : "017" + }, + { + "drilldown" : "018", + "name" : "#018", + "y" : 84 + }, + { + "name" : "#019", + "drilldown" : "019", + "y" : 105 + }, + { + "y" : 103, + "drilldown" : "020", + "name" : "#020" + }, + { + "name" : "#021", + "drilldown" : "021", + "y" : 74 + }, + { + "name" : "#022", + "drilldown" : "022", + "y" : 72 + }, + { + "drilldown" : "023", + "name" : "#023", + "y" : 101 + }, + { + "y" : 77, + "drilldown" : "024", + "name" : "#024" + }, + { + "y" : 62, + "name" : "#025", + "drilldown" : "025" + }, + { + "y" : 76, + "drilldown" : "026", + "name" : "#026" + }, + { + "drilldown" : "027", + "name" : "#027", + "y" : 64 + }, + { + "y" : 82, + "name" : "#028", + "drilldown" : "028" + }, + { + "drilldown" : "029", + "name" : "#029", + "y" : 83 + }, + { + "drilldown" : "030", + "name" : "#030", + "y" : 121 + }, + { + "y" : 93, + "name" : "#031", + "drilldown" : "031" + }, + { + "drilldown" : "032", + "name" : "#032", + "y" : 98 + }, + { + "drilldown" : "033", + "name" : "#033", + "y" : 114 + }, + { + "y" : 70, + "name" : "#034", + "drilldown" : "034" + }, + { + "name" : "#035", + "drilldown" : "035", + "y" : 68 + }, + { + "drilldown" : "036", + "name" : "#036", + "y" : 70 + }, + { + "name" : "#037", + "drilldown" : "037", + "y" : 70 + }, + { + "name" : "#038", + "drilldown" : "038", + "y" : 74 + }, + { + "y" : 68, + "drilldown" : "039", + "name" : "#039" + }, + { + "drilldown" : "040", + "name" : "#040", + "y" : 77 + }, + { + "y" : 80, + "name" : "#041", + "drilldown" : "041" + }, + { + "y" : 98, + "name" : "#042", + "drilldown" : "042" + }, + { + "y" : 72, + "drilldown" : "043", + "name" : "#043" + }, + { + "name" : "#044", + "drilldown" : "044", + "y" : 90 + }, + { + "drilldown" : "045", + "name" : "#045", + "y" : 102 + }, + { + "y" : 93, + "name" : "#046", + "drilldown" : "046" + }, + { + "y" : 88, + "drilldown" : "047", + "name" : "#047" + }, + { + "drilldown" : "048", + "name" : "#048", + "y" : 112 + }, + { + "drilldown" : "049", + "name" : "#049", + "y" : 93 + }, + { + "drilldown" : "050", + "name" : "#050", + "y" : 104 + }, + { + "y" : 95, + "drilldown" : "051", + "name" : "#051" + }, + { + "y" : 93, + "name" : "#052", + "drilldown" : "052" + }, + { + "y" : 105, + "name" : "#053", + "drilldown" : "053" + }, + { + "name" : "#054", + "drilldown" : "054", + "y" : 107 + }, + { + "y" : 92, + "drilldown" : "055", + "name" : "#055" + }, + { + "y" : 104, + "drilldown" : "056", + "name" : "#056" + }, + { + "drilldown" : "057", + "name" : "#057", + "y" : 86 + }, + { + "y" : 71, + "name" : "#058", + "drilldown" : "058" + }, + { + "y" : 93, + "drilldown" : "059", + "name" : "#059" + }, + { + "y" : 89, + "name" : "#060", + "drilldown" : "060" + }, + { + "drilldown" : "061", + "name" : "#061", + "y" : 85 + }, + { + "drilldown" : "062", + "name" : "#062", + "y" : 62 + }, + { + "drilldown" : "063", + "name" : "#063", + "y" : 93 + }, + { + "y" : 84, + "name" : "#064", + "drilldown" : "064" + }, + { + "name" : "#065", + "drilldown" : "065", + "y" : 77 + }, + { + "name" : "#066", + "drilldown" : "066", + "y" : 88 + }, + { + "y" : 94, + "name" : "#067", + "drilldown" : "067" + }, + { + "y" : 79, + "drilldown" : "068", + "name" : "#068" + }, + { + "y" : 87, + "drilldown" : "069", + "name" : "#069" + }, + { + "drilldown" : "070", + "name" : "#070", + "y" : 98 + }, + { + "name" : "#071", + "drilldown" : "071", + "y" : 82 + }, + { + "drilldown" : "072", + "name" : "#072", + "y" : 116 + }, + { + "y" : 112, + "drilldown" : "073", + "name" : "#073" + }, + { + "y" : 117, + "name" : "#074", + "drilldown" : "074" + }, + { + "drilldown" : "075", + "name" : "#075", + "y" : 117 + }, + { + "drilldown" : "076", + "name" : "#076", + "y" : 101 + }, + { + "y" : 100, + "drilldown" : "077", + "name" : "#077" + }, + { + "y" : 127, + "drilldown" : "078", + "name" : "#078" + }, + { + "y" : 122, + "drilldown" : "079", + "name" : "#079" + }, + { + "y" : 127, + "drilldown" : "080", + "name" : "#080" + }, + { + "y" : 114, + "name" : "#081", + "drilldown" : "081" + |
