diff options
| -rw-r--r-- | challenge-057/mohammad-anwar/perl/ch-2.pl | 28 | ||||
| -rw-r--r-- | challenge-057/mohammad-anwar/perl/ch-2a.pl | 40 | ||||
| -rw-r--r-- | stats/pwc-current.json | 225 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 58 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 834 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 378 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 96 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 64 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 102 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 102 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 38 |
13 files changed, 1098 insertions, 1015 deletions
diff --git a/challenge-057/mohammad-anwar/perl/ch-2.pl b/challenge-057/mohammad-anwar/perl/ch-2.pl new file mode 100644 index 0000000000..52281a6547 --- /dev/null +++ b/challenge-057/mohammad-anwar/perl/ch-2.pl @@ -0,0 +1,28 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +my $words = [ "alphabet", "book", "carpet", "cadmium", "cadeau", "alpine" ]; +my $unique = find_unique_prefix($words); + +print sprintf("[ %s ]\n", join(", ", @$unique)); + +sub find_unique_prefix { + my ($words) = @_; + + my $p = []; + foreach my $word (@$words) { + my $i = 1; + my $l = length($word); + while ($i < $l) { + my $char = substr($word, 0, $i); + my $count = scalar(grep { m/^$char/ } @$words); + + ($count > 1) && $i++ and next; + push @$p, $char and last; + } + } + + return $p; +} diff --git a/challenge-057/mohammad-anwar/perl/ch-2a.pl b/challenge-057/mohammad-anwar/perl/ch-2a.pl new file mode 100644 index 0000000000..69b16a8817 --- /dev/null +++ b/challenge-057/mohammad-anwar/perl/ch-2a.pl @@ -0,0 +1,40 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use Test::More; +use Test::Deep; + +my $unit_tests = [ + { in => [ "alphabet", "book", "carpet", "cadmium", "cadeau", "alpine" ], + out => [ "alph", "b", "car", "cadm", "cade", "alpi" ] + } +]; + +foreach my $unit_test (@$unit_tests) { + my $in = $unit_test->{in}; + my $out = $unit_test->{out}; + is_deeply(find_unique_prefix($in), $out); +} + +done_testing; + +sub find_unique_prefix { + my ($words) = @_; + + my $p = []; + foreach my $word (@$words) { + my $i = 1; + my $l = length($word); + while ($i < $l) { + my $char = substr($word, 0, $i); + my $count = scalar(grep { m/^$char/ } @$words); + + ($count > 1) && $i++ and next; + push @$p, $char and last; + } + } + + return $p; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 0d85f3a2bf..301311cccf 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,20 +1,106 @@ { + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "series" : [ + { + "name" : "Perl Weekly Challenge - 057", + "colorByPoint" : 1, + "data" : [ + { + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby", + "y" : 3 + }, + { + "name" : "Javier Luque", + "y" : 5, + "drilldown" : "Javier Luque" + }, + { + "name" : "Luca Ferrari", + "y" : 4, + "drilldown" : "Luca Ferrari" + }, + { + "y" : 1, + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson" + }, + { + "y" : 1, + "drilldown" : "Markus Holzer", + "name" : "Markus Holzer" + }, + { + "y" : 1, + "drilldown" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" + }, + { + "name" : "Pete Houston", + "y" : 1, + "drilldown" : "Pete Houston" + }, + { + "name" : "Roger Bell West", + "drilldown" : "Roger Bell West", + "y" : 2 + }, + { + "name" : "Simon Proctor", + "drilldown" : "Simon Proctor", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke" + }, + { + "name" : "Wanderdoc", + "y" : 2, + "drilldown" : "Wanderdoc" + }, + { + "name" : "Yet Ebreo", + "y" : 2, + "drilldown" : "Yet Ebreo" + } + ] + } + ], "legend" : { "enabled" : 0 }, - "title" : { - "text" : "Perl Weekly Challenge - 057" - }, - "subtitle" : { - "text" : "[Champions: 11] Last updated at 2020-04-22 20:39:34 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/>" }, "chart" : { "type" : "column" }, + "subtitle" : { + "text" : "[Champions: 12] Last updated at 2020-04-22 22:03:45 GMT" + }, + "title" : { + "text" : "Perl Weekly Challenge - 057" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, "drilldown" : { "series" : [ { - "id" : "Dave Jacoby", "name" : "Dave Jacoby", "data" : [ [ @@ -25,10 +111,10 @@ "Blog", 1 ] - ] + ], + "id" : "Dave Jacoby" }, { - "name" : "Javier Luque", "id" : "Javier Luque", "data" : [ [ @@ -43,11 +129,10 @@ "Blog", 1 ] - ] + ], + "name" : "Javier Luque" }, { - "name" : "Luca Ferrari", - "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -57,11 +142,13 @@ "Blog", 2 ] - ] + ], + "id" : "Luca Ferrari", + "name" : "Luca Ferrari" }, { - "id" : "Mark Anderson", "name" : "Mark Anderson", + "id" : "Mark Anderson", "data" : [ [ "Raku", @@ -70,43 +157,53 @@ ] }, { + "name" : "Markus Holzer", + "id" : "Markus Holzer", "data" : [ [ "Raku", 1 ] + ] + }, + { + "name" : "Mohammad S Anwar", + "data" : [ + [ + "Perl", + 1 + ] ], - "name" : "Markus Holzer", - "id" : "Markus Holzer" + "id" : "Mohammad S Anwar" }, { - "id" : "Pete Houston", - "name" : "Pete Houston", "data" : [ [ "Perl", 1 ] - ] + ], + "id" : "Pete Houston", + "name" : "Pete Houston" }, { + "id" : "Roger Bell West", "data" : [ [ "Perl", 2 ] ], - "id" : "Roger Bell West", "name" : "Roger Bell West" }, { + "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], - "name" : "Simon Proctor", "id" : "Simon Proctor" }, { @@ -124,109 +221,27 @@ "name" : "Ulrich Rieke" }, { + "id" : "Wanderdoc", "data" : [ [ "Perl", 2 ] ], - "id" : "Wanderdoc", "name" : "Wanderdoc" }, { + "id" : "Yet Ebreo", "data" : [ [ "Perl", 2 ] ], - "name" : "Yet Ebreo", - "id" : "Yet Ebreo" + "name" : "Yet Ebreo" } ] }, - "tooltip" : { - "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/>", - "followPointer" : 1 - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "series" : [ - { - "name" : "Perl Weekly Challenge - 057", - "data" : [ - { - "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby", - "y" : 3 - }, - { - "name" : "Javier Luque", - "drilldown" : "Javier Luque", - "y" : 5 - }, - { - "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari", - "y" : 4 - }, - { - "y" : 1, - "name" : "Mark Anderson", - "drilldown" : "Mark Anderson" - }, - { - "drilldown" : "Markus Holzer", - "name" : "Markus Holzer", - "y" : 1 - }, - { - "y" : 1, - "drilldown" : "Pete Houston", - "name" : "Pete Houston" - }, - { - "y" : 2, - "drilldown" : "Roger Bell West", - "name" : "Roger Bell West" - }, - { - "y" : 2, - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor" - }, - { - "y" : 2, - "drilldown" : "Ulrich Rieke", - "name" : "Ulrich Rieke" - }, - { - "name" : "Wanderdoc", - "drilldown" : "Wanderdoc", - "y" : 2 - }, - { - "name" : "Yet Ebreo", - "drilldown" : "Yet Ebreo", - "y" : 2 - } - ], - "colorByPoint" : 1 - } - ], - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, "xAxis" : { "type" : "category" } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 1efba303ac..4cc5851f6c 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,15 +1,34 @@ { "yAxis" : { + "min" : 0, "title" : { "text" : null + } + }, + "xAxis" : { + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } }, - "min" : 0 + "type" : "category" + }, + "subtitle" : { + "text" : "Last updated at 2020-04-22 22:03:45 GMT" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, + "chart" : { + "type" : "column" + }, "series" : [ { + "name" : "Contributions", "data" : [ [ "Blog", @@ -17,7 +36,7 @@ ], [ "Perl", - 2398 + 2399 ], [ "Raku", @@ -25,39 +44,20 @@ ] ], "dataLabels" : { + "y" : 10, "format" : "{point.y:.0f}", - "enabled" : "true", "rotation" : -90, - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, - "align" : "right", + "enabled" : "true", "color" : "#FFFFFF", - "y" : 10 - }, - "name" : "Contributions" + "align" : "right", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } } ], - "xAxis" : { - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - }, - "type" : "category" - }, - "subtitle" : { - "text" : "Last updated at 2020-04-22 20:39:34 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, "legend" : { "enabled" : "false" - }, - "chart" : { - "type" : "column" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 37240b168c..881f60214f 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,16 +1,324 @@ { - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-04-22 20:39:34 GMT" + "chart" : { + "type" : "column" }, - "title" : { - "text" : "Perl Weekly Challenge Language" + "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>" }, "legend" : { "enabled" : "false" }, + "series" : [ + { + "data" : [ + { + "drilldown" : "001", + "y" : 140, + "name" : "#001" + }, + { + "name" : "#002", + "drilldown" : "002", + "y" : 109 + }, + { + "name" : "#003", + "drilldown" : "003", + "y" : 71 + }, + { + "y" : 91, + "drilldown" : "004", + "name" : "#004" + }, + { + "name" : "#005", + "drilldown" : "005", + "y" : 71 + }, + { + "y" : 52, + "drilldown" : "006", + "name" : "#006" + }, + { + "name" : "#007", + "drilldown" : "007", + "y" : 58 + }, + { + "name" : "#008", + "drilldown" : "008", + "y" : 70 + }, + { + "y" : 68, + "drilldown" : "009", + "name" : "#009" + }, + { + "name" : "#010", + "y" : 60, + "drilldown" : "010" + }, + { + "drilldown" : "011", + "y" : 79, + "name" : "#011" + }, + { + "y" : 83, + "drilldown" : "012", + "name" : "#012" + }, + { + "name" : "#013", + "y" : 76, + "drilldown" : "013" + }, + { + "y" : 96, + "drilldown" : "014", + "name" : "#014" + }, + { + "drilldown" : "015", + "y" : 93, + "name" : "#015" + }, + { + "name" : "#016", + "y" : 66, + "drilldown" : "016" + }, + { + "name" : "#017", + "y" : 79, + "drilldown" : "017" + }, + { + "name" : "#018", + "drilldown" : "018", + "y" : 76 + }, + { + "y" : 97, + "drilldown" : "019", + "name" : "#019" + }, + { + "name" : "#020", + "y" : 95, + "drilldown" : "020" + }, + { + "drilldown" : "021", + "y" : 67, + "name" : "#021" + }, + { + "drilldown" : "022", + "y" : 63, + "name" : "#022" + }, + { + "y" : 91, + "drilldown" : "023", + "name" : "#023" + }, + { + "drilldown" : "024", + "y" : 70, + "name" : "#024" + }, + { + "name" : "#025", + "drilldown" : "025", + "y" : 55 + }, + { + "name" : "#026", + "drilldown" : "026", + "y" : 70 + }, + { + "drilldown" : "027", + "y" : 58, + "name" : "#027" + }, + { + "name" : "#028", + "drilldown" : "028", + "y" : 78 + }, + { + "drilldown" : "029", + "y" : 77, + "name" : "#029" + }, + { + "name" : "#030", + "drilldown" : "030", + "y" : 115 + }, + { + "name" : "#031", + "drilldown" : "031", + "y" : 87 + }, + { + "name" : "#032", + "y" : 92, + "drilldown" : "032" + }, + { + "y" : 108, + "drilldown" : "033", + "name" : "#033" + }, + { + "name" : "#034", + "y" : 62, + "drilldown" : "034" + }, + { + "name" : "#035", + "y" : 62, + "drilldown" : "035" + }, + { + "y" : 66, + "drilldown" : "036", + "name" : "#036" + }, + { + "y" : 63, + "drilldown" : "037", + "name" : "#037" + }, + { + "name" : "#038", + "drilldown" : "038", + "y" : 65 + }, + { + "name" : "#039", + "drilldown" : "039", + "y" : 60 + }, + { + "name" : "#040", + "y" : 71, + "drilldown" : "040" + }, + { + "name" : "#041", + "drilldown" : "041", + "y" : 74 + }, + { + "drilldown" : "042", + "y" : 88, + "name" : "#042" + }, + { + "name" : "#043", + "drilldown" : "043", + "y" : 65 + }, + { + "name" : "#044", + "drilldown" : "044", + "y" : 81 + }, + { + "drilldown" : "045", + "y" : 94, + "name" : "#045" + }, + { + "drilldown" : "046", + "y" : 83, + "name" : "#046" + }, + { + "name" : "#047", + "drilldown" : "047", + "y" : 81 + }, + { + "y" : 106, + "drilldown" : "048", + "name" : "#048" + }, + { + "name" : "#049", + "y" : 85, + "drilldown" : "049" + }, + { + "drilldown" : "050", + "y" : 96, + "name" : "#050" + }, + { + "name" : "#051", + "y" : 87, + "drilldown" : "051" + }, + { + "name" : "#052", + "y" : 89, + "drilldown" : "052" + }, + { + "name" : "#053", + "drilldown" : "053", + "y" : 99 + }, + { + "name" : "#054", + "y" : 95, + "drilldown" : "054" + }, + { + "y" : 85, + "drilldown" : "055", + "name" : "#055" + }, + { + "y" : 87, + "drilldown" : "056", + "name" : "#056" + }, + { + "y" : 26, + "drilldown" : "057", + "name" : "#057" + } + ], + "colorByPoint" : "true", + "name" : "Perl Weekly Challenge Languages" + } + ], + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "xAxis" : { + "type" : "category" + }, "drilldown" : { "series" : [ { + "id" : "001", "data" : [ [ "Perl", @@ -25,12 +333,11 @@ 11 ] ], - "id" : "001", "name" : "001" }, { - "id" : "002", "name" : "002", + "id" : "002", "data" : [ [ "Perl", @@ -47,6 +354,7 @@ ] }, { + "id" : "003", "data" : [ [ "Perl", @@ -61,10 +369,10 @@ 9 ] ], - "name" : "003", - "id" : "003" + "name" : "003" }, { + "id" : "004", "data" : [ [ "Perl", @@ -79,8 +387,7 @@ 10 ] ], - "name" : "004", - "id" : "004" + "name" : "004" }, { "name" : "005", @@ -101,8 +408,8 @@ ] }, { - "id" : "006", "name" : "006", + "id" : "006", "data" : [ [ "Perl", @@ -137,8 +444,6 @@ "name" : "007" }, { - "name" : "008", - "id" : "008", "data" : [ [ "Perl", @@ -152,9 +457,12 @@ "Blog", 12 ] - ] + ], + "id" : "008", + "name" : "008" }, { + "name" : "009", "data" : [ [ "Perl", @@ -169,12 +477,10 @@ 13 ] ], - "name" : "009", "id" : "009" }, { "id" : "010", - "name" : "010", "data" : [ [ "Perl", @@ -188,7 +494,8 @@ "Blog", 11 ] - ] + ], + "name" : "010" }, { "name" : "011", @@ -209,6 +516,8 @@ ] }, { + "name" : "012", + "id" : "012", "data" : [ [ "Perl", @@ -222,12 +531,9 @@ "Blog", 11 ] - ], - "name" : "012", - "id" : "012" + ] }, { - "id" : "013", "name" : "013", "data" : [ [ @@ -242,9 +548,11 @@ "Blog", 13 ] - ] + ], + "id" : "013" }, { + "id" : "014", "data" : [ [ "Perl", @@ -259,8 +567,7 @@ 15 ] ], - "name" : "014", - "id" : "014" + "name" : "014" }, { "name" : "015", @@ -281,7 +588,6 @@ ] }, { - "name" : "016", "id" : "016", "data" : [ [ @@ -296,10 +602,10 @@ "Blog", 12 ] - ] + ], + "name" : "016" }, { - "name" : "017", "id" : "017", "data" : [ [ @@ -314,9 +620,12 @@ "Blog", 12 ] - ] + ], + "name" : "017" }, { + "name" : "018", + "id" : "018", "data" : [ [ "Perl", @@ -330,9 +639,7 @@ "Blog", 14 ] - ], - "name" : "018", - "id" : "018" + ] }, { "name" : "019", @@ -353,8 +660,6 @@ ] }, { - "name" : "020", - "id" : "020", "data" : [ [ "Perl", @@ -368,9 +673,13 @@ "Blog", 13 ] - ] + ], + "id" : "020", + "name" : "020" }, { + "name" : "021", + "id" : "021", "data" : [ [ "Perl", @@ -384,13 +693,10 @@ "Blog", 10 ] - ], - "name" : "021", - "id" : "021" + ] }, { "id" : "022", - "name" : "022", "data" : [ [ "Perl", @@ -404,11 +710,11 @@ "Blog", 10 ] - ] + ], + "name" : "022" }, { "id" : "023", - "name" : "023", "data" : [ [ "Perl", @@ -422,11 +728,11 @@ "Blog", 12 ] - ] + ], + "name" : "023" }, { "id" : "024", - "name" : "024", "data" : [ [ "Perl", @@ -440,11 +746,11 @@ "Blog", 11 ] - ] + ], + "name" : "024" }, { "id" : "025", - "name" : "025", "data" : [ [ "Perl", @@ -458,9 +764,11 @@ "Blog", 12 ] - ] + ], + "name" : "025" }, { + "id" : "026", "data" : [ [ "Perl", @@ -475,12 +783,9 @@ 10 ] ], - "name" : "026", - "id" : "026" + "name" : "026" }, { - "id" : "027", - "name" : "027", "data" : [ [ "Perl", @@ -494,9 +799,13 @@ "Blog", 9 ] - ] + ], + "id" : "027", + "name" : "027" }, { + "name" : "028", + "id" : "028", "data" : [ [ "Perl", @@ -510,9 +819,7 @@ "Blog", 9 ] - ], - "id" : "028", - "name" : "028" + ] }, { "data" : [ @@ -533,8 +840,6 @@ "name" : "029" }, { - "id" : "030", - "name" : "030", "data" : [ [ "Perl", @@ |
