aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-056/mohammad-anwar/perl/ch-1.pl39
-rw-r--r--challenge-056/mohammad-anwar/perl/ch-1a.pl50
-rw-r--r--stats/pwc-current.json137
-rw-r--r--stats/pwc-language-breakdown-summary.json38
-rw-r--r--stats/pwc-language-breakdown.json398
-rw-r--r--stats/pwc-leaders.json694
-rw-r--r--stats/pwc-summary-1-30.json122
-rw-r--r--stats/pwc-summary-121-150.json108
-rw-r--r--stats/pwc-summary-151-180.json42
-rw-r--r--stats/pwc-summary-31-60.json94
-rw-r--r--stats/pwc-summary-61-90.json98
-rw-r--r--stats/pwc-summary-91-120.json44
-rw-r--r--stats/pwc-summary.json56
13 files changed, 1012 insertions, 908 deletions
diff --git a/challenge-056/mohammad-anwar/perl/ch-1.pl b/challenge-056/mohammad-anwar/perl/ch-1.pl
new file mode 100644
index 0000000000..0ca0e3c9b3
--- /dev/null
+++ b/challenge-056/mohammad-anwar/perl/ch-1.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use List::Util 1.54 qw(sample);
+
+my $K = $ARGV[0];
+die "ERROR: Missing non-negative number (k).\n" unless defined $K;
+die "ERROR: Invalid k received [$K].\n" unless $K > 0;
+
+my $S = 10;
+my @L = sort { $b <=> $a } sample ($S, (1 .. 50));
+
+print sprintf("\@L: [%s]\n", join(", ", @L));
+my $matched = find_match($K, @L);
+
+(@$matched)
+?
+(print join("\n", @$matched), "\n")
+:
+(print "Oops, none matched.\n");
+
+sub find_match {
+ my ($K, @L) = @_;
+
+ my $S = scalar(@L);
+ my $matched = [];
+ foreach my $i (0 .. --$S) {
+ foreach my $j (++$i .. $S) {
+ my $k = $L[$i] - $L[$j];
+ if ($k == $K) {
+ push @$matched, sprintf("%2s,%2s => (%2s - %2s) => %d", $i, $j, $L[$i], $L[$j], $k);
+ }
+ }
+ }
+
+ return $matched;
+}
diff --git a/challenge-056/mohammad-anwar/perl/ch-1a.pl b/challenge-056/mohammad-anwar/perl/ch-1a.pl
new file mode 100644
index 0000000000..5f3e11b1b0
--- /dev/null
+++ b/challenge-056/mohammad-anwar/perl/ch-1a.pl
@@ -0,0 +1,50 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More;
+use Test::Deep;
+
+my $unit_tests = {
+ 2 => {
+ in => [10, 9, 7, 6, 1],
+ out => [ " 1, 2 => ( 9 - 7) => 2" ]
+ },
+ 3 => {
+ in => [20, 15, 14, 10, 7, 6, 4, 1],
+ out => [ " 3, 4 => (10 - 7) => 3",
+ " 4, 6 => ( 7 - 4) => 3",
+ " 6, 7 => ( 4 - 1) => 3"]
+ },
+ 4 => {
+ in => [50, 40, 30, 20, 10],
+ out => [ ]
+ },
+};
+
+foreach my $k (sort keys %$unit_tests) {
+ my $in = $unit_tests->{$k}->{in};
+ my $out = $unit_tests->{$k}->{out};
+
+ is_deeply(find_match($k, @$in), $out, "testing with k=$k");
+}
+
+done_testing;
+
+sub find_match {
+ my ($K, @L) = @_;
+
+ my $S = scalar(@L);
+ my $matched = [];
+ foreach my $i (0 .. --$S) {
+ foreach my $j (++$i .. $S) {
+ my $k = $L[$i] - $L[$j];
+ if ($k == $K) {
+ push @$matched, sprintf("%2s,%2s => (%2s - %2s) => %d", $i, $j, $L[$i], $L[$j], $k);
+ }
+ }
+ }
+
+ return $matched;
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index c337833a15..6229ab4410 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,28 +1,10 @@
{
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- }
- }
- },
- "xAxis" : {
- "type" : "category"
- },
"title" : {
"text" : "Perl Weekly Challenge - 056"
},
- "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/>"
- },
"drilldown" : {
"series" : [
{
- "id" : "Dave Jacoby",
"data" : [
[
"Perl",
@@ -33,19 +15,21 @@
1
]
],
+ "id" : "Dave Jacoby",
"name" : "Dave Jacoby"
},
{
- "name" : "E. Choroba",
"data" : [
[
"Perl",
2
]
],
+ "name" : "E. Choroba",
"id" : "E. Choroba"
},
{
+ "name" : "Javier Luque",
"data" : [
[
"Perl",
@@ -60,7 +44,6 @@
1
]
],
- "name" : "Javier Luque",
"id" : "Javier Luque"
},
{
@@ -78,8 +61,6 @@
"id" : "Luca Ferrari"
},
{
- "id" : "Mark Anderson",
- "name" : "Mark Anderson",
"data" : [
[
"Perl",
@@ -89,17 +70,19 @@
"Raku",
1
]
- ]
+ ],
+ "id" : "Mark Anderson",
+ "name" : "Mark Anderson"
},
{
- "id" : "Markus Holzer",
"data" : [
[
"Raku",
2
]
],
- "name" : "Markus Holzer"
+ "name" : "Markus Holzer",
+ "id" : "Markus Holzer"
},
{
"data" : [
@@ -119,6 +102,17 @@
"data" : [
[
"Perl",
+ 1
+ ]
+ ],
+ "id" : "Mohammad S Anwar",
+ "name" : "Mohammad S Anwar"
+ },
+ {
+ "name" : "Roger Bell West",
+ "data" : [
+ [
+ "Perl",
2
],
[
@@ -126,43 +120,29 @@
1
]
],
- "name" : "Roger Bell West",
"id" : "Roger Bell West"
},
{
- "id" : "Simon Proctor",
"data" : [
[
"Raku",
1
]
],
- "name" : "Simon Proctor"
+ "name" : "Simon Proctor",
+ "id" : "Simon Proctor"
}
]
},
- "subtitle" : {
- "text" : "[Champions: 9] Last updated at 2020-04-14 15:47:25 GMT"
- },
- "legend" : {
- "enabled" : 0
- },
- "chart" : {
- "type" : "column"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
"series" : [
{
"colorByPoint" : 1,
+ "name" : "Perl Weekly Challenge - 056",
"data" : [
{
"drilldown" : "Dave Jacoby",
- "y" : 3,
- "name" : "Dave Jacoby"
+ "name" : "Dave Jacoby",
+ "y" : 3
},
{
"drilldown" : "E. Choroba",
@@ -170,42 +150,77 @@
"y" : 2
},
{
- "y" : 5,
"name" : "Javier Luque",
- "drilldown" : "Javier Luque"
+ "drilldown" : "Javier Luque",
+ "y" : 5
},
{
- "name" : "Luca Ferrari",
"y" : 4,
- "drilldown" : "Luca Ferrari"
+ "drilldown" : "Luca Ferrari",
+ "name" : "Luca Ferrari"
},
{
+ "drilldown" : "Mark Anderson",
"name" : "Mark Anderson",
- "y" : 3,
- "drilldown" : "Mark Anderson"
+ "y" : 3
},
{
- "y" : 2,
+ "drilldown" : "Markus Holzer",
"name" : "Markus Holzer",
- "drilldown" : "Markus Holzer"
+ "y" : 2
},
{
"y" : 3,
- "name" : "Matthew Somerville",
- "drilldown" : "Matthew Somerville"
+ "drilldown" : "Matthew Somerville",
+ "name" : "Matthew Somerville"
+ },
+ {
+ "drilldown" : "Mohammad S Anwar",
+ "name" : "Mohammad S Anwar",
+ "y" : 1
},
{
"drilldown" : "Roger Bell West",
- "y" : 3,
- "name" : "Roger Bell West"
+ "name" : "Roger Bell West",
+ "y" : 3
},
{
"y" : 1,
- "name" : "Simon Proctor",
- "drilldown" : "Simon Proctor"
+ "drilldown" : "Simon Proctor",
+ "name" : "Simon Proctor"
}
- ],
- "name" : "Perl Weekly Challenge - 056"
+ ]
+ }
+ ],
+ "xAxis" : {
+ "type" : "category"
+ },
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
+ }
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
}
- ]
+ },
+ "legend" : {
+ "enabled" : 0
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "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
+ },
+ "subtitle" : {
+ "text" : "[Champions: 10] Last updated at 2020-04-14 18:27:44 GMT"
+ }
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 3b22e1fd2b..5b145df8d0 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,31 +1,36 @@
{
"yAxis" : {
- "min" : 0,
"title" : {
"text" : null
- }
+ },
+ "min" : 0
},
"legend" : {
"enabled" : "false"
},
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
+ },
"chart" : {
"type" : "column"
},
+ "subtitle" : {
+ "text" : "Last updated at 2020-04-14 18:27:44 GMT"
+ },
"series" : [
{
"dataLabels" : {
- "format" : "{point.y:.0f}",
+ "y" : 10,
"color" : "#FFFFFF",
"align" : "right",
- "enabled" : "true",
"style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
},
"rotation" : -90,
- "y" : 10
+ "enabled" : "true",
+ "format" : "{point.y:.0f}"
},
- "name" : "Contributions",
"data" : [
[
"Blog",
@@ -33,15 +38,19 @@
],
[
"Perl",
- 2353
+ 2354
],
[
"Raku",
1473
]
- ]
+ ],
+ "name" : "Contributions"
}
],
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
+ },
"xAxis" : {
"labels" : {
"style" : {
@@ -50,14 +59,5 @@
}
},
"type" : "category"
- },
- "title" : {
- "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
- },
- "subtitle" : {
- "text" : "Last updated at 2020-04-14 15:47:24 GMT"
- },
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index af64cdc0cb..be6dc5cbb8 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,6 +1,6 @@
{
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-04-14 15:47:24 GMT"
+ "title" : {
+ "text" : "Perl Weekly Challenge Language"
},
"drilldown" : {
"series" : [
@@ -24,7 +24,6 @@
},
{
"id" : "002",
- "name" : "002",
"data" : [
[
"Perl",
@@ -38,7 +37,8 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "002"
},
{
"data" : [
@@ -95,6 +95,7 @@
"id" : "005"
},
{
+ "id" : "006",
"data" : [
[
"Perl",
@@ -109,11 +110,10 @@
7
]
],
- "name" : "006",
- "id" : "006"
+ "name" : "006"
},
{
- "id" : "007",
+ "name" : "007",
"data" : [
[
"Perl",
@@ -128,10 +128,9 @@
10
]
],
- "name" : "007"
+ "id" : "007"
},
{
- "id" : "008",
"data" : [
[
"Perl",
@@ -146,11 +145,11 @@
12
]
],
- "name" : "008"
+ "name" : "008",
+ "id" : "008"
},
{
"id" : "009",
- "name" : "009",
"data" : [
[
"Perl",
@@ -164,7 +163,8 @@
"Blog",
13
]
- ]
+ ],
+ "name" : "009"
},
{
"data" : [
@@ -185,7 +185,6 @@
"id" : "010"
},
{
- "id" : "011",
"name" : "011",
"data" : [
[
@@ -200,10 +199,10 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "011"
},
{
- "id" : "012",
"name" : "012",
"data" : [
[
@@ -218,10 +217,10 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "012"
},
{
- "name" : "013",
"data" : [
[
"Perl",
@@ -236,10 +235,10 @@
13
]
],
+ "name" : "013",
"id" : "013"
},
{
- "id" : "014",
"data" : [
[
"Perl",
@@ -254,10 +253,10 @@
15
]
],
- "name" : "014"
+ "name" : "014",
+ "id" : "014"
},
{
- "name" : "015",
"data" : [
[
"Perl",
@@ -272,10 +271,10 @@
15
]
],
- "id" : "015"
+ "id" : "015",
+ "name" : "015"
},
{
- "name" : "016",
"data" : [
[
"Perl",
@@ -290,7 +289,8 @@
12
]
],
- "id" : "016"
+ "id" : "016",
+ "name" : "016"
},
{
"data" : [
@@ -311,7 +311,6 @@
"id" : "017"
},
{
- "id" : "018",
"data" : [
[
"Perl",
@@ -326,10 +325,10 @@
14
]
],
- "name" : "018"
+ "name" : "018",
+ "id" : "018"
},
{
- "id" : "019",
"name" : "019",
"data" : [
[
@@ -344,11 +343,10 @@
"Blog",
13
]
- ]
+ ],
+ "id" : "019"
},
{
- "id" : "020",
- "name" : "020",
"data" : [
[
"Perl",
@@ -362,10 +360,12 @@
"Blog",
13
]
- ]
+ ],
+ "name" : "020",
+ "id" : "020"
},
{
- "id" : "021",
+ "name" : "021",
"data" : [
[
"Perl",
@@ -380,7 +380,7 @@
10
]
],
- "name" : "021"
+ "id" : "021"
},
{
"name" : "022",
@@ -401,7 +401,6 @@
"id" : "022"
},
{
- "id" : "023",
"data" : [
[
"Perl",
@@ -416,10 +415,10 @@
12
]
],
- "name" : "023"
+ "name" : "023",
+ "id" : "023"
},
{
- "id" : "024",
"data" : [
[
"Perl",
@@ -434,6 +433,7 @@
11
]
],
+ "id" : "024",
"name" : "024"
},
{
@@ -455,7 +455,6 @@
"id" : "025"
},
{
- "id" : "026",
"data" : [
[
"Perl",
@@ -470,10 +469,10 @@
10
]
],
+ "id" : "026",
"name" : "026"
},
{
- "id" : "027",
"data" : [
[
"Perl",
@@ -488,11 +487,11 @@
9
]
],
- "name" : "027"
+ "name" : "027",
+ "id" : "027"
},
{
"id" : "028",
- "name" : "028",
"data" : [
[
"Perl",
@@ -506,10 +505,10 @@
"Blog",
9
]
- ]
+ ],
+ "name" : "028"
},
{
- "id" : "029",
"name" : "029",
"data" : [
[
@@ -524,10 +523,11 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "029"
},
{
- "id" : "030",
+ "name" : "030",
"data" : [
[
"Perl",
@@ -542,7 +542,7 @@
10
]
],
- "name" : "030"
+ "id" : "030"
},
{
"data" : [
@@ -559,10 +559,11 @@
9
]
],
- "name" : "031",
- "id" : "031"
+ "id" : "031",
+ "name" : "031"
},
{
+ "id" : "032",
"data" : [
[
"Perl",
@@ -577,11 +578,9 @@
10
]
],
- "name" : "032",
- "id" : "032"
+ "name" : "032"
},
{
- "name" : "033",
"data" : [
[
"Perl",
@@ -596,11 +595,11 @@
10
]
],
+ "name" : "033",
"id" : "033"
},
{
"id" : "034",
- "name" : "034",
"data" : [
[
"Perl",
@@ -614,10 +613,10 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "034"
},
{
- "id" : "035",
"data" : [
[
"Perl",
@@ -632,10 +631,10 @@
9
]
],
- "name" : "035"
+ "name" : "035",
+ "id" : "035"
},
{
- "name" : "036",
"data" : [
[
"Perl",
@@ -650,10 +649,10 @@
11
]
],
+ "name" : "036",
"id" : "036"
},
{
- "id" : "037",
"data" : [
[
"Perl",
@@ -668,9 +667,11 @@
9
]
],
- "name" : "037"
+ "name" : "037",
+ "id" : "037"
},
{
+ "id" : "038",
"data" : [
[
"Perl",
@@ -685,11 +686,9 @@
12
]
],
- "name" : "038",
- "id" : "038"
+ "name" : "038"
},
{
- "id" : "039",
"name" : "039",
"data" : [
[
@@ -704,7 +703,8 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "039"
},
{
"data" : [
@@ -725,7 +725,7 @@
"id" : "040"
},
{
- "name" : "041",
+ "id" : "041",
"data" : [
[
"Perl",
@@ -740,11 +740,9 @@
9
]
],
- "id" : "041"
+ "name" : "041"
},
{
- "id" : "042",
- "name" : "042",
"data" : [
[
"Perl",
@@ -758,9 +756,12 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "042",
+ "id" : "042"
},
{
+ "name" : "043",
"data" : [
[
"Perl",
@@ -775,11 +776,9 @@
10
]
],
- "name" : "043",
"id" : "043"
},
{
- "id" : "044",
"name" : "044",
"data" : [
[
@@ -794,7 +793,8 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "044"
},
{
"data" : [
@@ -815,7 +815,6 @@
"id" : "045"
},
{
- "name" : "046",
"data" : [
[
"Perl",
@@ -830,11 +829,10 @@
10
]
],
+ "name" : "046",
"id" : "046"
},
{
- "id" : "047",
- "name" : "047",
"data" : [
[
"Perl",
@@ -848,7 +846,9 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "047",
+ "name" : "047"
},
{
"data" : [
@@ -865,12 +865,10 @@
12
]
],
- "name" : "048",
- "id" : "048"
+ "id" : "048",
+ "name" : "048"
},
{
- "id" : "049",
- "name" : "049",
"data" : [
[
"Perl",
@@ -884,7 +882,9 @@
"Blog",
12
]
- ]
+ ],
+ "name" : "049",
+ "id" : "049"
},
{
"data" : [
@@ -905,7 +905,6 @@
"id" : "050"
},
{
- "id" : "051",
"name" : "051",
"data" : [
[
@@ -920,11 +919,10 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "051"
},
{
- "id" : "052",
- "name" : "052",
"data" : [
[
"Perl",
@@ -938,10 +936,12 @@
"Blog",
14
]
- ]
+ ],
+ "name" : "052",
+ "id" : "052"
},
{
- "id" : "053",
+ "name" : "053",
"data" : [
[
"Perl",
@@ -956,9 +956,10 @@
14
]
],
- "name" : "053"
+ "id" : "053"
},
{
+ "name" : "054",
"data" : [
[
"Perl",
@@ -973,12 +974,9 @@
12
]
],
- "name" : "054",
"id" : "054"
},
{
- "id" : "055",
- "name" : "055",
"data" : [
[
"Perl",
@@ -992,13 +990,15 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "055",
+ "id" : "055"
},
{
"data" : [
[
"Perl",
- 12
+ 13
],
[
"Raku",
@@ -1009,83 +1009,62 @@
5
]
],
- "name" : "056",
- "id" : "056"
+ "id" : "056",
+ "name" : "056"
}
]
},
- "tooltip" : {
- "headerFormat" : "<span style=\"font-size:11px\"></span>",
- "followPointer" : "true",
- "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>"
- },
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- }
- }
- },
- "xAxis" : {
- "type" : "category"
- },
- "title" : {
- "text" : "Perl Weekly Challenge Language"
- },
"series" : [
{
- "colorByPoint" : "true",
"data" : [
{
- "name" : "#001",
"y" : 140,
- "drilldown" : "001"
+ "drilldown" : "001",
+ "name" : "#001"
},
{
- "name" : "#002",
"y" : 109,
+ "name" : "#002",
"drilldown" : "002"
},
{
+ "drilldown" : "003",
"name" : "#003",
- "y" : 71,
- "drilldown" : "003"
+ "y" : 71
},
{
- "drilldown" : "004",
"y" : 91,
+ "drilldown" : "004",
"name" : "#004"
},
{
- "y" : 71,
"name" : "#005",
- "drilldown" : "005"
+ "drilldown" : "005",
+ "y" : 71
},
{
- "drilldown" : "006",
"y" : 52,
+ "drilldown" : "006",
"name" : "#006"
},
{
- "drilldown" : "007",
"y" : 58,
- "name" : "#007"
+ "name" : "#007",
+ "drilldown" : "007"
},
{
- "drilldown" : "008",
"y" : 70,
+ "drilldown" : "008",
"name" : "#008"
},
{
- "drilldown" : "009",
"y" : 68,
- "name" : "#009"
+ "name" : "#009",
+ "drilldown" : "009"
},
{
- "drilldown" : "010",
"name" : "#010",
+ "drilldown" : "010",
"y" : 60
},
{
@@ -1099,28 +1078,28 @@
"y" : 83
},
{
- "name" : "#013",
"y" : 76,
- "drilldown" : "013"
+ "drilldown" : "013",
+ "name" : "#013"
},
{
"drilldown" : "014",
- "y" : 96,
- "name" : "#014"
+ "name" : "#014",
+ "y" : 96