aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-02-17 12:35:29 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-02-17 12:35:29 +0000
commitf345d1a6086e4446e242eed5841056600d861e7b (patch)
treed13bbd1c53e313d7a2bfbdfbf34e0b4e1440a7d2
parent71b9d99009ca84f7ad80a42a3a246ef265be7859 (diff)
downloadperlweeklychallenge-club-f345d1a6086e4446e242eed5841056600d861e7b.tar.gz
perlweeklychallenge-club-f345d1a6086e4446e242eed5841056600d861e7b.tar.bz2
perlweeklychallenge-club-f345d1a6086e4446e242eed5841056600d861e7b.zip
- Added solutions by Javier Luque.
-rw-r--r--challenge-048/javier-luque/blog.txt1
-rw-r--r--challenge-048/javier-luque/perl/ch-1.pl25
-rw-r--r--challenge-048/javier-luque/perl/ch-2.pl17
-rw-r--r--challenge-048/javier-luque/raku/ch-1.p615
-rw-r--r--challenge-048/javier-luque/raku/ch-2.p628
-rw-r--r--stats/pwc-current.json99
-rw-r--r--stats/pwc-language-breakdown-summary.json46
-rw-r--r--stats/pwc-language-breakdown.json408
-rw-r--r--stats/pwc-leaders.json754
-rw-r--r--stats/pwc-summary-1-30.json46
-rw-r--r--stats/pwc-summary-121-150.json52
-rw-r--r--stats/pwc-summary-31-60.json116
-rw-r--r--stats/pwc-summary-61-90.json50
-rw-r--r--stats/pwc-summary-91-120.json92
-rw-r--r--stats/pwc-summary.json366
15 files changed, 1112 insertions, 1003 deletions
diff --git a/challenge-048/javier-luque/blog.txt b/challenge-048/javier-luque/blog.txt
new file mode 100644
index 0000000000..cf789304e2
--- /dev/null
+++ b/challenge-048/javier-luque/blog.txt
@@ -0,0 +1 @@
+https://perlchallenges.wordpress.com/2020/02/17/perl-weekly-challenge-048/
diff --git a/challenge-048/javier-luque/perl/ch-1.pl b/challenge-048/javier-luque/perl/ch-1.pl
new file mode 100644
index 0000000000..d48f2cb10f
--- /dev/null
+++ b/challenge-048/javier-luque/perl/ch-1.pl
@@ -0,0 +1,25 @@
+#!/usr/bin/perl
+# Test: ./ch-1.pl
+use strict;
+use warnings;
+use feature qw /say/;
+
+# Populate the people with position_number
+my @people;
+$people[$_] = $_ + 1 for (0..49);
+
+# See who lives
+kill_and_switch(\@people) while (scalar(@people > 1));
+say $people[0] . " is still alive";
+
+
+# Kill and Switch
+sub kill_and_switch {
+ my $people = shift;
+
+ # switch
+ push @$people, shift @$people;
+
+ # kill
+ shift @$people;
+}
diff --git a/challenge-048/javier-luque/perl/ch-2.pl b/challenge-048/javier-luque/perl/ch-2.pl
new file mode 100644
index 0000000000..8903b6c56e
--- /dev/null
+++ b/challenge-048/javier-luque/perl/ch-2.pl
@@ -0,0 +1,17 @@
+#!/usr/bin/perl
+# test: perl ch-2.pl
+use strict;
+use warnings;
+use Time::Piece;
+use Time::Seconds;
+use feature qw /say/;
+
+my $current_date = Time::Piece->strptime('01-01-2000', '%m-%d-%Y');
+my $end_date = Time::Piece->strptime('12-31-2999', '%m-%d-%Y');
+
+while ($current_date < $end_date) {
+ my $date_string = $current_date->strftime('%m%d%Y');
+ say $date_string if ($date_string eq reverse($date_string));
+ $current_date = $current_date + ONE_DAY;
+}
+
diff --git a/challenge-048/javier-luque/raku/ch-1.p6 b/challenge-048/javier-luque/raku/ch-1.p6
new file mode 100644
index 0000000000..d87dcf6acc
--- /dev/null
+++ b/challenge-048/javier-luque/raku/ch-1.p6
@@ -0,0 +1,15 @@
+# Test: perl6 ch-1.p6
+sub MAIN() {
+ my @people = 1..50;
+ kill-and-switch(@people) while (@people.elems > 1);
+ say @people[0] ~" is still alive";
+}
+
+# Kill and Switch
+sub kill-and-switch(@people) {
+ # switch
+ push @people, shift @people;
+
+ # kill
+ shift @people;
+}
diff --git a/challenge-048/javier-luque/raku/ch-2.p6 b/challenge-048/javier-luque/raku/ch-2.p6
new file mode 100644
index 0000000000..a794ed98e8
--- /dev/null
+++ b/challenge-048/javier-luque/raku/ch-2.p6
@@ -0,0 +1,28 @@
+# Test: perl6 ch-2.p6
+use v6.d;
+
+sub MAIN () {
+ my $current_date = Date.new(2000, 1, 1);
+ my $end_date = Date.new(2999, 12, 31);
+
+ while ($current_date < $end_date) {
+ # Format month and day
+ my $month = ($current_date.month < 10) ??
+ '0' ~ $current_date.month !!
+ $current_date.month;
+
+ my $day = ($current_date.day < 10) ??
+ '0' ~ $current_date.day !!
+ $current_date.day;
+
+ # Date String
+ my $date_string = $month ~ $day ~ $current_date.year;
+
+ # Output the datestring if it's a palindrome
+ say $date_string
+ if ($date_string eq $date_string.flip);
+
+ # Next Day
+ $current_date = $current_date + 1;
+ }
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 2abcb16cba..af9a2c3322 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,4 +1,13 @@
{
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
+ }
+ },
"yAxis" : {
"title" : {
"text" : "Total Solutions"
@@ -7,79 +16,89 @@
"title" : {
"text" : "Perl Weekly Challenge - 048"
},
+ "xAxis" : {
+ "type" : "category"
+ },
"series" : [
{
+ "colorByPoint" : 1,
"data" : [
{
+ "y" : 2,
"name" : "Dave Cross",
- "drilldown" : "Dave Cross",
- "y" : 2
+ "drilldown" : "Dave Cross"
+ },
+ {
+ "name" : "Javier Luque",
+ "drilldown" : "Javier Luque",
+ "y" : 5
},
{
- "name" : "Luca Ferrari",
"y" : 4,
- "drilldown" : "Luca Ferrari"
+ "drilldown" : "Luca Ferrari",
+ "name" : "Luca Ferrari"
},
{
"name" : "Mohammad S Anwar",
- "y" : 1,
- "drilldown" : "Mohammad S Anwar"
+ "drilldown" : "Mohammad S Anwar",
+ "y" : 1
},
{
- "y" : 1,
+ "name" : "Peter Scott",
"drilldown" : "Peter Scott",
- "name" : "Peter Scott"
+ "y" : 1
},
{
+ "name" : "Simon Proctor",
"drilldown" : "Simon Proctor",
- "y" : 3,
- "name" : "Simon Proctor"
+ "y" : 3
}
],
- "colorByPoint" : 1,
"name" : "Perl Weekly Challenge - 048"
}
],
"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/>"
- },
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- }
- }
- },
- "subtitle" : {
- "text" : "[Champions: 5] Last updated at 2020-02-17 12:29:28 GMT"
- },
- "xAxis" : {
- "type" : "category"
+ "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/>"
},
"legend" : {
"enabled" : 0
},
- "chart" : {
- "type" : "column"
+ "subtitle" : {
+ "text" : "[Champions: 6] Last updated at 2020-02-17 12:35:09 GMT"
},
"drilldown" : {
"series" : [
{
- "id" : "Dave Cross",
"data" : [
[
"Perl",
2
]
],
+ "id" : "Dave Cross",
"name" : "Dave Cross"
},
{
- "id" : "Luca Ferrari",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Raku",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "id" : "Javier Luque",
+ "name" : "Javier Luque"
+ },
+ {
"data" : [
[
"Raku",
@@ -90,30 +109,32 @@
2
]
],
+ "id" : "Luca Ferrari",
"name" : "Luca Ferrari"
},
{
"id" : "Mohammad S Anwar",
+ "name" : "Mohammad S Anwar",
"data" : [
[
"Perl",
1
]
- ],
- "name" : "Mohammad S Anwar"
+ ]
},
{
- "id" : "Peter Scott",
"data" : [
[
"Perl",
1
]
],
- "name" : "Peter Scott"
+ "name" : "Peter Scott",
+ "id" : "Peter Scott"
},
{
"id" : "Simon Proctor",
+ "name" : "Simon Proctor",
"data" : [
[
"Raku",
@@ -123,9 +144,11 @@
"Blog",
1
]
- ],
- "name" : "Simon Proctor"
+ ]
}
]
+ },
+ "chart" : {
+ "type" : "column"
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 5e193f1faa..6ea346874f 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,63 +1,63 @@
{
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
+ "chart" : {
+ "type" : "column"
},
"subtitle" : {
- "text" : "Last updated at 2020-02-17 12:29:28 GMT"
+ "text" : "Last updated at 2020-02-17 12:35:09 GMT"
},
- "xAxis" : {
- "labels" : {
- "style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
- }
- },
- "type" : "category"
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
},
"legend" : {
"enabled" : "false"
},
- "chart" : {
- "type" : "column"
- },
"series" : [
{
"name" : "Contributions",
"dataLabels" : {
- "rotation" : -90,
- "enabled" : "true",
"y" : 10,
- "color" : "#FFFFFF",
+ "rotation" : -90,
"format" : "{point.y:.0f}",
"style" : {
"fontSize" : "13px",
"fontFamily" : "Verdana, sans-serif"
},
+ "color" : "#FFFFFF",
+ "enabled" : "true",
"align" : "right"
},
"data" : [
[
"Blog",
- 507
+ 508
],
[
"Perl",
- 1949
+ 1951
],
[
"Raku",
- 1193
+ 1195
]
]
}
],
+ "xAxis" : {
+ "type" : "category",
+ "labels" : {
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ }
+ }
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
+ },
"yAxis" : {
"title" : {
"text" : null
},
"min" : 0
- },
- "title" : {
- "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 46794eafc6..c7ad7a64d4 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,4 +1,13 @@
{
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ },
+ "borderWidth" : 0
+ }
+ },
"yAxis" : {
"title" : {
"text" : "Total Solutions"
@@ -7,6 +16,9 @@
"title" : {
"text" : "Perl Weekly Challenge Language"
},
+ "xAxis" : {
+ "type" : "category"
+ },
"series" : [
{
"name" : "Perl Weekly Challenge Languages",
@@ -14,13 +26,13 @@
"data" : [
{
"name" : "#001",
- "y" : 140,
- "drilldown" : "001"
+ "drilldown" : "001",
+ "y" : 140
},
{
- "name" : "#002",
+ "y" : 109,
"drilldown" : "002",
- "y" : 109
+ "name" : "#002"
},
{
"y" : 71,
@@ -28,39 +40,39 @@
"name" : "#003"
},
{
- "drilldown" : "004",
"y" : 91,
+ "drilldown" : "004",
"name" : "#004"
},
{
- "name" : "#005",
"y" : 71,
- "drilldown" : "005"
+ "drilldown" : "005",
+ "name" : "#005"
},
{
- "name" : "#006",
"drilldown" : "006",
+ "name" : "#006",
"y" : 48
},
{
+ "drilldown" : "007",
"name" : "#007",
- "y" : 56,
- "drilldown" : "007"
+ "y" : 56
},
{
- "name" : "#008",
+ "y" : 70,
"drilldown" : "008",
- "y" : 70
+ "name" : "#008"
},
{
+ "name" : "#009",
"drilldown" : "009",
- "y" : 68,
- "name" : "#009"
+ "y" : 68
},
{
- "drilldown" : "010",
"y" : 60,
- "name" : "#010"
+ "name" : "#010",
+ "drilldown" : "010"
},
{
"y" : 79,
@@ -68,54 +80,54 @@
"name" : "#011"
},
{
- "name" : "#012",
"y" : 83,
- "drilldown" : "012"
+ "drilldown" : "012",
+ "name" : "#012"
},
{
- "name" : "#013",
"y" : 76,
- "drilldown" : "013"
+ "drilldown" : "013",
+ "name" : "#013"
},
{
+ "name" : "#014",
"drilldown" : "014",
- "y" : 96,
- "name" : "#014"
+ "y" : 96
},
{
"y" : 93,
- "drilldown" : "015",
- "name" : "#015"
+ "name" : "#015",
+ "drilldown" : "015"
},
{
"y" : 66,
- "drilldown" : "016",
- "name" : "#016"
+ "name" : "#016",
+ "drilldown" : "016"
},
{
+ "y" : 79,
"name" : "#017",
- "drilldown" : "017",
- "y" : 79
+ "drilldown" : "017"
},
{
- "name" : "#018",
+ "y" : 76,
"drilldown" : "018",
- "y" : 76
+ "name" : "#018"
},
{
+ "drilldown" : "019",
"name" : "#019",
- "y" : 95,
- "drilldown" : "019"
+ "y" : 95
},
{
+ "name" : "#020",
"drilldown" : "020",
- "y" : 95,
- "name" : "#020"
+ "y" : 95
},
{
+ "y" : 67,
"name" : "#021",
- "drilldown" : "021",
- "y" : 67
+ "drilldown" : "021"
},
{
"name" : "#022",
@@ -123,24 +135,24 @@
"y" : 63
},
{
- "name" : "#023",
+ "y" : 91,
"drilldown" : "023",
- "y" : 91
+ "name" : "#023"
},
{
- "name" : "#024",
"drilldown" : "024",
+ "name" : "#024",
"y" : 70
},
{
- "name" : "#025",
"y" : 55,
+ "name" : "#025",
"drilldown" : "025"
},
{
- "drilldown" : "026",
"y" : 70,
- "name" : "#026"
+ "name" : "#026",
+ "drilldown" : "026"
},
{
"y" : 58,
@@ -148,54 +160,54 @@
"name" : "#027"
},
{
- "name" : "#028",
+ "y" : 78,
"drilldown" : "028",
- "y" : 78
+ "name" : "#028"
},
{
"drilldown" : "029",
- "y" : 77,
- "name" : "#029"
+ "name" : "#029",
+ "y" : 77
},
{
+ "y" : 115,
"name" : "#030",
- "drilldown" : "030",
- "y" : 115
+ "drilldown" : "030"
},
{
+ "drilldown" : "031",
"name" : "#031",
- "y" : 87,
- "drilldown" : "031"
+ "y" : 87
},
{
"name" : "#032",
- "y" : 92,
- "drilldown" : "032"
+ "drilldown" : "032",
+ "y" : 92
},
{
"name" : "#033",
- "y" : 108,
- "drilldown" : "033"
+ "drilldown" : "033",
+ "y" : 108
},
{
- "name" : "#034",
+ "y" : 60,
"drilldown" : "034",
- "y" : 60
+ "name" : "#034"
},
{
+ "drilldown" : "035",
"name" : "#035",
- "y" : 60,
- "drilldown" : "035"
+ "y" : 60
},
{
- "name" : "#036",
"drilldown" : "036",
+ "name" : "#036",
"y" : 61
},
{
- "name" : "#037",
+ "y" : 63,
"drilldown" : "037",
- "y" : 63
+ "name" : "#037"
},
{
"y" : 60,
@@ -203,87 +215,73 @@
"name" : "#038"
},
{
- "name" : "#039",
"y" : 60,
- "drilldown" : "039"
+ "drilldown" : "039",
+ "name" : "#039"
},
{
- "name" : "#040",
"y" : 66,
- "drilldown" : "040"
+ "drilldown" : "040",
+ "name" : "#040"
},
{
"name" : "#041",
- "y" : 69,
- "drilldown" : "041"
+ "drilldown" : "041",
+ "y" : 69
},
{
"name" : "#042",
- "y" : 88,
- "drilldown" : "042"
+ "drilldown" : "042",
+ "y" : 88
},
{
- "y" : 65,
"drilldown" : "043",
- "name" : "#043"
+ "name" : "#043",
+ "y" : 65
},
{
- "y" : 81,
"drilldown" : "044",
- "name" : "#044"
+ "name" : "#044",
+ "y" : 81
},
{
+ "drilldown" : "045",
"name" : "#045",
- "y" : 93,
- "drilldown" : "045"
+ "y" : 93
},
{
- "drilldown" : "046",
"y" : 82,
- "name" : "#046"
+ "name" : "#046",
+ "drilldown" : "046"
},
{
- "y" : 77,
+ "name" : "#047",
"drilldown" : "047",
- "name" : "#047"
+ "y" : 77
},
{
- "y" : 11,
+ "name" : "#048",
"drilldown" : "048",
- "name" : "#048"
+ "y" : 16
}
]
}
],
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- }
- }
- },
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-02-17 12:29:28 GMT"
+ "legend" : {
+ "enabled" : "false"
},
"tooltip" : {
"headerFormat" : "<span style=\"font-size:11px\"></span>",
- "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>",
- "followPointer" : "true"
- },
- "chart" : {
- "type" : "column"
+ "followPointer" : "true",
+ "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>"
},
- "xAxis" : {
- "type" : "category"
- },
- "legend" : {
- "enabled" : "false"
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-02-17 12:35:09 GMT"
},
"drilldown" : {
"series" : [
{
+ "name" : "001",
"id" : "001",
"data" : [
[
@@ -298,12 +296,9 @@
"Blog",
11
]
- ],
- "name" : "001"
+ ]
},
{
- "name" : "002",
- "id" : "002",
"data" : [
[
"Perl",
@@ -317,9 +312,13 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "002",
+ "name" : "002"
},
{
+ "id" : "003",
+ "name" : "003",
"data" : [
[
"Perl",
@@ -333,9 +332,7 @@
"Blog",
9
]
- ],
- "id" : "003",
- "name" : "003"
+ ]
},
{
"name" : "004",
@@ -357,6 +354,7 @@
},
{
"name" : "005",
+ "id" : "005",
"data" : [
[
"Perl",
@@ -370,12 +368,9 @@
"Blog",
12
]
- ],
- "id" : "005"
+ ]
},
{
- "name" : "006",
- "id" : "006",
"data" : [
[
"Perl",
@@ -389,10 +384,13 @@
"Blog",
7
]
- ]
+ ],
+ "name" : "006",
+ "id" : "006"
},
{
"id" : "007",
+ "name" : "007",
"data" : [
[
"Perl",
@@ -406,12 +404,11 @@
"Blog",
10
]
- ],
- "name" : "007"
+ ]
},
{
- "name" : "008",
"id" : "008",
+ "name" : "008",
"data" : [
[
"Perl",
@@ -428,6 +425,8 @@
]
},
{
+ "id" : "009",
+ "name" : "009",
"data" : [
[
"Perl",
@@ -441,11 +440,10 @@
"Blog",
13
]
- ],
- "id" : "009",
- "name" : "009"
+ ]
},
{
+ "name" : "010",
"id" : "010",
"data" : [
[
@@ -460,8 +458,7 @@
"Blog",
11
]
- ],
- "name" : "010"
+ ]
},
{
"name" : "011",
@@ -482,6 +479,8 @@
]
},
{
+ "id" : "012",
+ "name" : "012",
"data" : [
[
"Perl",
@@ -495,11 +494,11 @@
"Blog",
11
]
- ],
- "id" : "012",
- "name" : "012"
+ ]
},
{
+ "id" : "013",
+ "name" : "013",
"data" : [
[
"Perl",
@@ -513,11 +512,11 @@
"Blog",
13
]
- ],
- "id" : "013",
- "name" : "013"
+ ]
},
{
+ "id" : "014",
+ "name" : "014",
"data" : [
[
"Perl",
@@ -531,13 +530,9 @@
"Blog",
15
]
- ],
- "id" : "014",
- "name" : "014"
+ ]
},
{
- "name" : "015",
- "id" : "015",
"data" : [
[
"Perl",
@@ -551,10 +546,13 @@
"Blog",
15
]
- ]
+ ],
+ "name" : "015",
+ "id" : "015"
},
{
"id" : "016",
+ "name" : "016",
"data" : [
[
"Perl",
@@ -568,11 +566,11 @@
"Blog",
12
]
- ],
- "name" : "016"
+ ]
},
{
"id" : "017",
+ "name" : "017",
"data" : [
[
"Perl",
@@ -586,10 +584,10 @@
"Blog",
12
]
- ],
- "name" : "017"
+ ]
},
{
+ "name" : "018",
"id" : "018",
"data" : [
[
@@ -604,10 +602,10 @@
"Blog",
14
]
- ],
- "name" : "018"
+ ]
},
{
+ "name" : "019",
"id" : "019",
"data" : [
[
@@ -622,10 +620,11 @@
"Blog",
13
]
- ],
- "name" : "019"
+ ]
},
{
+ "id" : "020",
+ "name" : "020",
"data" : [
[
"Perl",
@@ -639,11 +638,10 @@
"Blog",
13
]
- ],
- "id" : "020",
- "name" : "020"
+ ]
},
{
+ "name" : "021",
"id" : "021",
"data" : [
[
@@ -658,10 +656,11 @@
"Blog",
10
]
- ],
- "name" : "021"
+ ]
},
{
+ "name" : "022",
+ "id" : "022",
"data" : [
[
"Perl",
@@ -675,9 +674,7 @@
"Blog",
10
]
- ],
- "id" : "022",
- "name" : "022"
+ ]
},
{
"data" : [
@@ -694,11 +691,10 @@
12
]
],
- "id" : "023",
- "name" : "023"
+ "name" : "023",
+ "id" : "023"
},
{
- "id" : "024",
"data" : [
[
"Perl",
@@ -713,11 +709,10 @@