aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-060/mohammad-anwar/perl/ch-1.pl46
-rw-r--r--challenge-060/mohammad-anwar/perl/ch-1a.pl39
-rw-r--r--stats/pwc-current.json169
-rw-r--r--stats/pwc-language-breakdown-summary.json42
-rw-r--r--stats/pwc-language-breakdown.json422
-rw-r--r--stats/pwc-leaders.json360
-rw-r--r--stats/pwc-summary-1-30.json30
-rw-r--r--stats/pwc-summary-121-150.json100
-rw-r--r--stats/pwc-summary-151-180.json60
-rw-r--r--stats/pwc-summary-31-60.json52
-rw-r--r--stats/pwc-summary-61-90.json96
-rw-r--r--stats/pwc-summary-91-120.json108
-rw-r--r--stats/pwc-summary.json38
13 files changed, 831 insertions, 731 deletions
diff --git a/challenge-060/mohammad-anwar/perl/ch-1.pl b/challenge-060/mohammad-anwar/perl/ch-1.pl
new file mode 100644
index 0000000000..2e45b14af4
--- /dev/null
+++ b/challenge-060/mohammad-anwar/perl/ch-1.pl
@@ -0,0 +1,46 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+my $msg = "Please provide parameter e.g. -d:27 or -n:AA\n";
+my $arg = $ARGV[0];
+die $msg unless defined $arg;
+
+if ($arg =~ /^\-d\:(.*)$/) {
+ print sprintf("%s => %s\n", $1, to_excel($1));
+}
+elsif ($arg =~ m/^\-n\:(.*)$/) {
+ print sprintf("%s => %s\n", $1, from_excel($1));
+}
+else {
+ print $msg;
+}
+
+sub from_excel {
+ my ($name) = @_;
+
+ my $i = 0;
+ my $b = 26;
+ my $d = 0;
+ foreach my $c (split //, scalar(reverse(uc $name))) {
+ $d += (ord($c) - ord("A") + 1) * ($b ** $i++);
+ }
+
+ return $d;
+}
+
+sub to_excel {
+ my ($number) = @_;
+
+ my $name = '';
+ my @name = (0, 'A' .. 'Z');
+ while ($number > 26) {
+ my $i = int $number / 26;
+ $name .= $name[$i];
+ $number -= ($i * 26);
+ }
+ $name .= $name[$number];
+
+ return $name;
+}
diff --git a/challenge-060/mohammad-anwar/perl/ch-1a.pl b/challenge-060/mohammad-anwar/perl/ch-1a.pl
new file mode 100644
index 0000000000..d298b5f1b0
--- /dev/null
+++ b/challenge-060/mohammad-anwar/perl/ch-1a.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+is (to_excel(28), "AB", "28 => AB");
+is (from_excel("AB"), 28, "AB => 28");
+
+done_testing;
+
+sub from_excel {
+ my ($name) = @_;
+
+ my $i = 0;
+ my $b = 26;
+ my $d = 0;
+ foreach my $c (split //, scalar(reverse(uc $name))) {
+ $d += (ord($c) - ord("A") + 1) * ($b ** $i++);
+ }
+
+ return $d;
+}
+
+sub to_excel {
+ my ($number) = @_;
+
+ my $name = '';
+ my @name = (0, 'A' .. 'Z');
+ while ($number > 26) {
+ my $i = int $number / 26;
+ $name .= $name[$i];
+ $number -= ($i * 26);
+ }
+ $name .= $name[$number];
+
+ return $name;
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 570b061427..c18c1f55cf 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,9 +1,71 @@
{
+ "xAxis" : {
+ "type" : "category"
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "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/>"
+ },
+ "series" : [
+ {
+ "data" : [
+ {
+ "name" : "Javier Luque",
+ "drilldown" : "Javier Luque",
+ "y" : 5
+ },
+ {
+ "name" : "Luca Ferrari",
+ "drilldown" : "Luca Ferrari",
+ "y" : 4
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Markus Holzer",
+ "name" : "Markus Holzer"
+ },
+ {
+ "drilldown" : "Mohammad S Anwar",
+ "y" : 1,
+ "name" : "Mohammad S Anwar"
+ },
+ {
+ "y" : 4,
+ "drilldown" : "Roger Bell_West",
+ "name" : "Roger Bell_West"
+ },
+ {
+ "name" : "Sangeet Kar",
+ "drilldown" : "Sangeet Kar",
+ "y" : 2
+ },
+ {
+ "name" : "Wanderdoc",
+ "drilldown" : "Wanderdoc",
+ "y" : 2
+ },
+ {
+ "name" : "Yet Ebreo",
+ "drilldown" : "Yet Ebreo",
+ "y" : 2
+ }
+ ],
+ "name" : "Perl Weekly Challenge - 060",
+ "colorByPoint" : 1
+ }
+ ],
+ "subtitle" : {
+ "text" : "[Champions: 8] Last updated at 2020-05-11 19:07:41 GMT"
+ },
"drilldown" : {
"series" : [
{
- "name" : "Javier Luque",
"id" : "Javier Luque",
+ "name" : "Javier Luque",
"data" : [
[
"Perl",
@@ -20,6 +82,7 @@
]
},
{
+ "id" : "Luca Ferrari",
"name" : "Luca Ferrari",
"data" : [
[
@@ -30,21 +93,29 @@
"Blog",
2
]
- ],
- "id" : "Luca Ferrari"
+ ]
},
{
- "id" : "Markus Holzer",
+ "name" : "Markus Holzer",
"data" : [
[
"Raku",
2
]
],
- "name" : "Markus Holzer"
+ "id" : "Markus Holzer"
+ },
+ {
+ "name" : "Mohammad S Anwar",
+ "data" : [
+ [
+ "Perl",
+ 1
+ ]
+ ],
+ "id" : "Mohammad S Anwar"
},
{
- "name" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -55,114 +126,58 @@
2
]
],
+ "name" : "Roger Bell_West",
"id" : "Roger Bell_West"
},
{
- "name" : "Sangeet Kar",
+ "id" : "Sangeet Kar",
"data" : [
[
"Perl",
2
]
],
- "id" : "Sangeet Kar"
+ "name" : "Sangeet Kar"
},
{
- "name" : "Wanderdoc",
"id" : "Wanderdoc",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Wanderdoc"
},
{
- "name" : "Yet Ebreo",
"id" : "Yet Ebreo",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Yet Ebreo"
}
]
},
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- }
- }
- },
- "series" : [
- {
- "colorByPoint" : 1,
- "data" : [
- {
- "drilldown" : "Javier Luque",
- "name" : "Javier Luque",
- "y" : 5
- },
- {
- "drilldown" : "Luca Ferrari",
- "name" : "Luca Ferrari",
- "y" : 4
- },
- {
- "y" : 2,
- "drilldown" : "Markus Holzer",
- "name" : "Markus Holzer"
- },
- {
- "drilldown" : "Roger Bell_West",
- "name" : "Roger Bell_West",
- "y" : 4
- },
- {
- "name" : "Sangeet Kar",
- "drilldown" : "Sangeet Kar",
- "y" : 2
- },
- {
- "name" : "Wanderdoc",
- "drilldown" : "Wanderdoc",
- "y" : 2
- },
- {
- "y" : 2,
- "drilldown" : "Yet Ebreo",
- "name" : "Yet Ebreo"
- }
- ],
- "name" : "Perl Weekly Challenge - 060"
- }
- ],
"yAxis" : {
"title" : {
"text" : "Total Solutions"
}
},
- "subtitle" : {
- "text" : "[Champions: 7] Last updated at 2020-05-11 16:35:39 GMT"
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ },
+ "borderWidth" : 0
+ }
},
"title" : {
"text" : "Perl Weekly Challenge - 060"
},
- "xAxis" : {
- "type" : "category"
- },
- "chart" : {
- "type" : "column"
- },
- "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
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 6a6e8c719f..052d7ee165 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,10 +1,4 @@
{
- "legend" : {
- "enabled" : "false"
- },
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
"chart" : {
"type" : "column"
},
@@ -12,22 +6,22 @@
"type" : "category",
"labels" : {
"style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
}
}
},
- "title" : {
- "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
},
"subtitle" : {
- "text" : "Last updated at 2020-05-11 16:35:39 GMT"
+ "text" : "Last updated at 2020-05-11 19:07:41 GMT"
},
"yAxis" : {
- "min" : 0,
"title" : {
"text" : null
- }
+ },
+ "min" : 0
},
"series" : [
{
@@ -38,26 +32,32 @@
],
[
"Perl",
- 2513
+ 2514
],
[
"Raku",
1578
]
],
+ "name" : "Contributions",
"dataLabels" : {
- "rotation" : -90,
+ "enabled" : "true",
"format" : "{point.y:.0f}",
+ "y" : 10,
"align" : "right",
+ "rotation" : -90,
"color" : "#FFFFFF",
- "y" : 10,
"style" : {
"fontSize" : "13px",
"fontFamily" : "Verdana, sans-serif"
- },
- "enabled" : "true"
- },
- "name" : "Contributions"
+ }
+ }
}
- ]
+ ],
+ "legend" : {
+ "enabled" : "false"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
+ }
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 4cc6a17e9b..a57226996d 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,24 +1,33 @@
{
- "title" : {
- "text" : "Perl Weekly Challenge Language"
+ "chart" : {
+ "type" : "column"
},
"xAxis" : {
"type" : "category"
},
- "chart" : {
- "type" : "column"
- },
"tooltip" : {
- "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>",
+ "headerFormat" : "<span style=\"font-size:11px\"></span>",
"followPointer" : "true",
- "headerFormat" : "<span style=\"font-size:11px\"></span>"
+ "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>"
},
- "legend" : {
- "enabled" : "false"
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
+ }
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
},
"drilldown" : {
"series" : [
{
+ "id" : "001",
"name" : "001",
"data" : [
[
@@ -33,10 +42,11 @@
"Blog",
11
]
- ],
- "id" : "001"
+ ]
},
{
+ "id" : "002",
+ "name" : "002",
"data" : [
[
"Perl",
@@ -50,13 +60,10 @@
"Blog",
10
]
- ],
- "id" : "002",
- "name" : "002"
+ ]
},
{
"name" : "003",
- "id" : "003",
"data" : [
[
"Perl",
@@ -70,7 +77,8 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "003"
},
{
"id" : "004",
@@ -91,6 +99,7 @@
"name" : "004"
},
{
+ "name" : "005",
"data" : [
[
"Perl",
@@ -105,10 +114,11 @@
12
]
],
- "id" : "005",
- "name" : "005"
+ "id" : "005"
},
{
+ "id" : "006",
+ "name" : "006",
"data" : [
[
"Perl",
@@ -122,12 +132,9 @@
"Blog",
7
]
- ],
- "id" : "006",
- "name" : "006"
+ ]
},
{
- "id" : "007",
"data" : [
[
"Perl",
@@ -142,10 +149,11 @@
10
]
],
- "name" : "007"
+ "name" : "007",
+ "id" : "007"
},
{
- "id" : "008",
+ "name" : "008",
"data" : [
[
"Perl",
@@ -160,9 +168,10 @@
12
]
],
- "name" : "008"
+ "id" : "008"
},
{
+ "id" : "009",
"name" : "009",
"data" : [
[
@@ -177,8 +186,7 @@
"Blog",
13
]
- ],
- "id" : "009"
+ ]
},
{
"id" : "010",
@@ -199,7 +207,6 @@
"name" : "010"
},
{
- "name" : "011",
"id" : "011",
"data" : [
[
@@ -214,11 +221,10 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "011"
},
{
- "name" : "012",
- "id" : "012",
"data" : [
[
"Perl",
@@ -232,10 +238,13 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "012",
+ "id" : "012"
},
{
"id" : "013",
+ "name" : "013",
"data" : [
[
"Perl",
@@ -249,11 +258,9 @@
"Blog",
13
]
- ],
- "name" : "013"
+ ]
},
{
- "id" : "014",
"data" : [
[
"Perl",
@@ -268,7 +275,8 @@
15
]
],
- "name" : "014"
+ "name" : "014",
+ "id" : "014"
},
{
"data" : [
@@ -285,10 +293,11 @@
15
]
],
- "id" : "015",
- "name" : "015"
+ "name" : "015",
+ "id" : "015"
},
{
+ "name" : "016",
"data" : [
[
"Perl",
@@ -303,11 +312,9 @@
12
]
],
- "id" : "016",
- "name" : "016"
+ "id" : "016"
},
{
- "id" : "017",
"data" : [
[
"Perl",
@@ -322,7 +329,8 @@
12
]
],
- "name" : "017"
+ "name" : "017",
+ "id" : "017"
},
{
"name" : "018",
@@ -343,8 +351,8 @@
"id" : "018"
},
{
- "name" : "019",
"id" : "019",
+ "name" : "019",
"data" : [
[
"Perl",
@@ -361,7 +369,7 @@
]
},
{
- "id" : "020",
+ "name" : "020",
"data" : [
[
"Perl",
@@ -376,9 +384,10 @@
13
]
],
- "name" : "020"
+ "id" : "020"
},
{
+ "id" : "021",
"data" : [
[
"Perl",
@@ -393,11 +402,9 @@
10
]
],
- "id" : "021",
"name" : "021"
},
{
- "name" : "022",
"data" : [
[
"Perl",
@@ -412,6 +419,7 @@
10
]
],
+ "name" : "022",
"id" : "022"
},
{
@@ -447,12 +455,12 @@
11
]
],
- "id" : "024",
- "name" : "024"
+ "name" : "024",
+ "id" : "024"
},
{
- "name" : "025",
"id" : "025",
+ "name" : "025",
"data" : [
[
"Perl",
@@ -469,6 +477,7 @@
]
},
{
+ "name" : "026",
"data" : [
[
"Perl",
@@ -483,10 +492,10 @@
10
]
],
- "id" : "026",
- "name" : "026"
+ "id" : "026"
},
{
+ "id" : "027",
"data" : [
[
"Perl",
@@ -501,12 +510,9 @@
9
]
],
- "id" : "027",
"name" : "027"
},
{
- "name" : "028",
- "id" : "028",
"data" : [
[
"Perl",
@@ -520,10 +526,11 @@
"Blog",
9
]
- ]
+ ],
+ "name" : "028",
+ "id" : "028"
},
{
- "id" : "029",
"data" : [
[
"Perl",
@@ -538,10 +545,10 @@
12
]
],
- "name" : "029"
+ "name" : "029",
+ "id" : "029"
},
{
- "id" : "030",
"data" : [
[
"Perl",
@@ -556,9 +563,12 @@
10
]
],
- "name" : "030"
+ "name" : "030",
+ "id" : "030"
},
{
+ "id" : "031",
+ "name" : "031",
"data" : [
[
"Perl",
@@ -572,12 +582,9 @@
"Blog",
9
]
- ],
- "id" : "031",
- "name" : "031"
+ ]
},
{
- "name" : "032",
"id" : "032",
"data" : [
[
@@ -592,7 +599,8 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "032"
},
{
"data" : [
@@ -609,12 +617,11 @@
10
]
],
- "id" : "033",
- "name" : "033"
+ "name" : "033",
+ "id" : "033"
},
{
"name" : "034",
- "id" : "034",
"data" : [
[
"Perl",
@@ -628,7 +635,8 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "034"
},
{
"name" : "035",
@@ -649,8 +657,8 @@
"id" : "035"
},
{
- "name" : "036",
"id" : "036",
+ "name" : "036",
"data" : [
[
"Perl",
@@ -667,7 +675,6 @@
]
},
{
- "name" : "037",
"data" : [
[
"Perl",
@@ -682,10 +689,11 @@
9
]
],
+ "name" : "037",
"id" : "037"
},
{
- "id" : "038",
+ "name" : "038",
"data" : [
[
"Perl",
@@ -700,7 +708,7 @@
12
]
],
- "name" : "038"
+ "id" : "038"
},
{
"id" : "039",
@@ -721,7 +729,6 @@
"name" : "039"
},
{
- "name" : "040",
"id" : "040",
"data" : [
[
@@ -736,11 +743,11 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "040"
},
{
"name" : "041",
- "id" : "041",
"data" : [
[
"Perl",
@@ -754,11 +761,12 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "041"
},
{
- "name" : "042",
"id" : "042",
+ "name" : "042",
"data" : [
[
"Perl",
@@ -775,7 +783,7 @@
]
},
{
- "id" : "043",
+ "name" : "043",
"data" : [
[
"Perl",
@@ -790,10 +798,9 @@
11
]
],
- "name" : "043"
+ "id" : "043"
},
{
- "id" : "044",
"data" : [
[
"Perl",
@@ -808,11 +815,12 @@
11
]
],
- "name" : "044"
+ "name" : "044",
+ "id" : "044"
},
{
- "name" : "045",
"id" : "045",
+ "name" : "045",
"data" : [
[
"Perl",
@@ -830,7 +838,6 @@
},
{
"name" : "046",
- "id" : "046",
"data" : [
[
"Perl",
@@ -844,9 +851,11 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "046"
},
{
+ "id" : "047",
"name" : "047",
"data" : [
[
@@ -861,12 +870,11 @@
"Blog",
10
]
- ],
- "id" : "047"
+ ]
},
{
- "name" : "048",
"id" : "048",
+ "name" : "048",
"data" : [
[
"Perl",
@@ -901,6 +909,7 @@
"name" : "049"
},
{
+ "name" : "050",
"data" : [
[
"Perl",
@@ -915,11 +924,9 @@
12
]
],
- "id" : "050",
- "name" : "050"
+ "id" : "050"
},
{
- "id" : "051",
"data" : [
[
"Perl",
@@ -934,7 +941,8 @@
11
]
],
- "name" : "051"
+ "name" : "051",
+ "id" : "051"
},
{
"data" : [
@@ -951,11 +959,11 @@
14
]
],
- "id" : "052",
- "name" : "052"
+ "name" : "052",
+ "id" : "052"
},
{
- "name" : "053",
+ "id" : "053",
"data" : [
[
"Perl",
@@ -970,10 +978,11 @@
15
]
],
- "id" : "053"
+ "name" : "053"
},
{
"id" : "054",
+ "name" : "054",
"data" : [
[
"Perl",
@@ -987,11 +996,9 @@
"Blog",
16
]
- ],
- "name" : "054"
+ ]
},
{
- "name" : "055",
"id" : "055",
"data" : [
[
@@ -1006,10 +1013,11 @@
"Blog",
14
]
- ]
+ ],
+ "name" : "055"
},
{
- "id" : "056",
+ "name" : "056",
"data" : [
[
"Perl",
@@ -1024,9 +1032,10 @@
16
]
],
- "name" : "056"
+ "id" : "056"
},
{
+ "id" : "057",
"data" : [
[
"Perl",
@@ -1041,11 +1050,11 @@
15
]
],
- "id" : "057",
"name" : "057"
},
{
"id" : "058",
+ "name" : "058",
"data" : [
[
"Perl",
@@ -1059,11 +1068,9 @@
"Blog",
11
]
- ],
- "name" : "058"
+ ]
},
{
- "name" : "059",
"data" : [
[
"Perl",
@@ -1078,14 +1085,14 @@
14
]
],
+ "name" : "059",
"id" : "059"
},
{
- "name" : "060",
"data" : [
[
"Perl",
- 10
+ 11
],
[
"Raku",
@@ -1096,18 +1103,13 @@
3
]
],
+ "name" : "060",
"id" : "060"
}
]
},
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- }
- }
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-05-11 19:07:41 GMT"
},
"series" : [
{
@@ -1119,58 +1121,58 @@
"name" : "#001"
},
{
- "name" : "#002",
"drilldown" : "002",
- "y" : 109
+ "y" : 109,
+ "name" : "#002"
},
{
- "y" : 71,
+ "name" : "#003",
"drilldown" : "003",
- "name" : "#003"
+ "y" : 71
},
{
+ "name" : "#004",
"y" : 91,
- "drilldown" : "004",
- "name" : "#004"
+ "drilldown" : "004"