aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-057/ulrich-rieke/perl/ch-2.pl39
-rw-r--r--challenge-057/ulrich-rieke/raku/ch-1.p632
-rw-r--r--stats/pwc-current.json147
-rw-r--r--stats/pwc-language-breakdown-summary.json46
-rw-r--r--stats/pwc-language-breakdown.json816
-rw-r--r--stats/pwc-leaders.json728
-rw-r--r--stats/pwc-summary-1-30.json130
-rw-r--r--stats/pwc-summary-121-150.json48
-rw-r--r--stats/pwc-summary-151-180.json62
-rw-r--r--stats/pwc-summary-31-60.json52
-rw-r--r--stats/pwc-summary-61-90.json104
-rw-r--r--stats/pwc-summary-91-120.json106
-rw-r--r--stats/pwc-summary.json56
13 files changed, 1228 insertions, 1138 deletions
diff --git a/challenge-057/ulrich-rieke/perl/ch-2.pl b/challenge-057/ulrich-rieke/perl/ch-2.pl
new file mode 100644
index 0000000000..457dd6864d
--- /dev/null
+++ b/challenge-057/ulrich-rieke/perl/ch-2.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/perl ;
+use strict ;
+use warnings ;
+
+sub findDifference {
+ my $word1 = shift ;
+ my $word2 = shift ;
+ my $i = 0 ;
+ while ( substr( $word1 , $i , 1 ) eq substr( $word2 , $i , 1 ) ) {
+ $i++ ;
+ }
+ return $i ;
+}
+
+#create of hash, with the words as a key and the array of numbers of common
+#starting sequences of their immediate neighbours in the sorted array
+#as value. The maximum value of this array + 1 represents the unique
+#sequence
+
+my @words = ("alphabet" , "book" , "carpet" , "cadmium" , "cadeau" ,
+ "alpine" ) ;
+my @sorted = sort @words ;
+my %prefixes ;
+my $len = $#words ;
+foreach my $i ( 0..$len - 1) {
+ my $commonlen = findDifference( $sorted[ $i ] , $sorted[ $i + 1 ] ) ;
+ push ( @{$prefixes{ $sorted[ $i ] }} , $commonlen ) ;
+ push ( @{$prefixes{ $sorted[ $i + 1 ] }} , $commonlen ) ;
+}
+print "[ " ;
+foreach my $i (0..$len) {
+ my @commonsorted = sort { $b <=> $a } @{$prefixes{ $words[ $i ] }} ;
+ my $max = $commonsorted[ 0 ] ;
+ print substr( $words[ $i ] , 0 , $max + 1 ) ;
+ if ( $i != $len ) {
+ print " , " ;
+ }
+}
+print " ]\n" ;
diff --git a/challenge-057/ulrich-rieke/raku/ch-1.p6 b/challenge-057/ulrich-rieke/raku/ch-1.p6
new file mode 100644
index 0000000000..62760cb71d
--- /dev/null
+++ b/challenge-057/ulrich-rieke/raku/ch-1.p6
@@ -0,0 +1,32 @@
+use v6 ;
+
+sub createTree( Int $depth ) {
+ return (1..(2 ** $depth) - 1 ).Array ;
+}
+
+#invert the tree level by level by reversing certain sections of the
+#tree, corresponding to the different "floors" of the binary tree
+
+sub invertTree( @array ) {
+ my @inverted ;
+ my $depth = log( @array.elems + 1 , 2 ) ;
+ for ( 0..$depth - 1 ) -> $i {
+ my @partialarray ;
+ my $howmany = 2 ** $i ;
+ if ( $howmany == 1 ) {
+ @partialarray.push( @array.shift ) ;
+ }
+ else {
+ for (1..$howmany) {
+ @partialarray.push( @array.shift ) ;
+ }
+ }
+ @partialarray .= reverse ;
+ @inverted.push( @partialarray ) ;
+ }
+ return @inverted.flat ;
+}
+
+sub MAIN( Int $depth ) {
+ say invertTree( createTree( $depth ) ) ;
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index c56cf87bda..0d85f3a2bf 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,10 +1,20 @@
{
- "xAxis" : {
- "type" : "category"
+ "legend" : {
+ "enabled" : 0
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 057"
+ },
+ "subtitle" : {
+ "text" : "[Champions: 11] Last updated at 2020-04-22 20:39:34 GMT"
+ },
+ "chart" : {
+ "type" : "column"
},
"drilldown" : {
"series" : [
{
+ "id" : "Dave Jacoby",
"name" : "Dave Jacoby",
"data" : [
[
@@ -15,10 +25,11 @@
"Blog",
1
]
- ],
- "id" : "Dave Jacoby"
+ ]
},
{
+ "name" : "Javier Luque",
+ "id" : "Javier Luque",
"data" : [
[
"Perl",
@@ -32,9 +43,7 @@
"Blog",
1
]
- ],
- "id" : "Javier Luque",
- "name" : "Javier Luque"
+ ]
},
{
"name" : "Luca Ferrari",
@@ -51,28 +60,28 @@
]
},
{
+ "id" : "Mark Anderson",
+ "name" : "Mark Anderson",
"data" : [
[
"Raku",
1
]
- ],
- "id" : "Mark Anderson",
- "name" : "Mark Anderson"
+ ]
},
{
- "name" : "Markus Holzer",
"data" : [
[
"Raku",
1
]
],
+ "name" : "Markus Holzer",
"id" : "Markus Holzer"
},
{
- "name" : "Pete Houston",
"id" : "Pete Houston",
+ "name" : "Pete Houston",
"data" : [
[
"Perl",
@@ -81,13 +90,13 @@
]
},
{
- "id" : "Roger Bell West",
"data" : [
[
"Perl",
2
]
],
+ "id" : "Roger Bell West",
"name" : "Roger Bell West"
},
{
@@ -97,17 +106,31 @@
2
]
],
- "id" : "Simon Proctor",
- "name" : "Simon Proctor"
+ "name" : "Simon Proctor",
+ "id" : "Simon Proctor"
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 1
+ ],
+ [
+ "Raku",
+ 1
+ ]
+ ],
+ "id" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke"
},
{
- "id" : "Wanderdoc",
"data" : [
[
"Perl",
2
]
],
+ "id" : "Wanderdoc",
"name" : "Wanderdoc"
},
{
@@ -117,98 +140,94 @@
2
]
],
- "id" : "Yet Ebreo",
- "name" : "Yet Ebreo"
+ "name" : "Yet Ebreo",
+ "id" : "Yet Ebreo"
}
]
},
- "legend" : {
- "enabled" : 0
- },
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- }
- }
- },
"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/>"
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
+ "followPointer" : 1
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
},
"series" : [
{
- "colorByPoint" : 1,
+ "name" : "Perl Weekly Challenge - 057",
"data" : [
{
- "y" : 3,
+ "drilldown" : "Dave Jacoby",
"name" : "Dave Jacoby",
- "drilldown" : "Dave Jacoby"
+ "y" : 3
},
{
+ "name" : "Javier Luque",
"drilldown" : "Javier Luque",
- "y" : 5,
- "name" : "Javier Luque"
+ "y" : 5
},
{
"name" : "Luca Ferrari",
- "y" : 4,
- "drilldown" : "Luca Ferrari"
+ "drilldown" : "Luca Ferrari",
+ "y" : 4
},
{
- "drilldown" : "Mark Anderson",
"y" : 1,
- "name" : "Mark Anderson"
+ "name" : "Mark Anderson",
+ "drilldown" : "Mark Anderson"
},
{
- "y" : 1,
+ "drilldown" : "Markus Holzer",
"name" : "Markus Holzer",
- "drilldown" : "Markus Holzer"
+ "y" : 1
},
{
"y" : 1,
- "name" : "Pete Houston",
- "drilldown" : "Pete Houston"
+ "drilldown" : "Pete Houston",
+ "name" : "Pete Houston"
},
{
"y" : 2,
- "name" : "Roger Bell West",
- "drilldown" : "Roger Bell West"
+ "drilldown" : "Roger Bell West",
+ "name" : "Roger Bell West"
},
{
- "drilldown" : "Simon Proctor",
"y" : 2,
+ "drilldown" : "Simon Proctor",
"name" : "Simon Proctor"
},
{
- "drilldown" : "Wanderdoc",
"y" : 2,
- "name" : "Wanderdoc"
+ "drilldown" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke"
+ },
+ {
+ "name" : "Wanderdoc",
+ "drilldown" : "Wanderdoc",
+ "y" : 2
},
{
- "drilldown" : "Yet Ebreo",
"name" : "Yet Ebreo",
+ "drilldown" : "Yet Ebreo",
"y" : 2
}
],
- "name" : "Perl Weekly Challenge - 057"
+ "colorByPoint" : 1
}
],
- "subtitle" : {
- "text" : "[Champions: 10] Last updated at 2020-04-22 08:34:31 GMT"
- },
- "title" : {
- "text" : "Perl Weekly Challenge - 057"
- },
- "chart" : {
- "type" : "column"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
+ "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 cd99e9f581..1efba303ac 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,18 +1,12 @@
{
"yAxis" : {
- "min" : 0,
"title" : {
"text" : null
- }
- },
- "chart" : {
- "type" : "column"
- },
- "title" : {
- "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
+ },
+ "min" : 0
},
- "subtitle" : {
- "text" : "Last updated at 2020-04-22 08:34:31 GMT"
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
},
"series" : [
{
@@ -23,34 +17,28 @@
],
[
"Perl",
- 2397
+ 2398
],
[
"Raku",
- 1500
+ 1501
]
],
"dataLabels" : {
- "color" : "#FFFFFF",
"format" : "{point.y:.0f}",
- "y" : 10,
+ "enabled" : "true",
+ "rotation" : -90,
"style" : {
"fontSize" : "13px",
"fontFamily" : "Verdana, sans-serif"
},
- "rotation" : -90,
- "enabled" : "true",
- "align" : "right"
+ "align" : "right",
+ "color" : "#FFFFFF",
+ "y" : 10
},
"name" : "Contributions"
}
],
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
- "legend" : {
- "enabled" : "false"
- },
"xAxis" : {
"labels" : {
"style" : {
@@ -59,5 +47,17 @@
}
},
"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 4996653b6a..37240b168c 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,329 +1,16 @@
{
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "chart" : {
- "type" : "column"
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-04-22 20:39:34 GMT"
},
- "series" : [
- {
- "colorByPoint" : "true",
- "data" : [
- {
- "drilldown" : "001",
- "name" : "#001",
- "y" : 140
- },
- {
- "y" : 109,
- "name" : "#002",
- "drilldown" : "002"
- },
- {
- "y" : 71,
- "name" : "#003",
- "drilldown" : "003"
- },
- {
- "y" : 91,
- "name" : "#004",
- "drilldown" : "004"
- },
- {
- "name" : "#005",
- "y" : 71,
- "drilldown" : "005"
- },
- {
- "name" : "#006",
- "y" : 52,
- "drilldown" : "006"
- },
- {
- "y" : 58,
- "name" : "#007",
- "drilldown" : "007"
- },
- {
- "drilldown" : "008",
- "name" : "#008",
- "y" : 70
- },
- {
- "drilldown" : "009",
- "name" : "#009",
- "y" : 68
- },
- {
- "drilldown" : "010",
- "name" : "#010",
- "y" : 60
- },
- {
- "drilldown" : "011",
- "y" : 79,
- "name" : "#011"
- },
- {
- "name" : "#012",
- "y" : 83,
- "drilldown" : "012"
- },
- {
- "name" : "#013",
- "y" : 76,
- "drilldown" : "013"
- },
- {
- "drilldown" : "014",
- "name" : "#014",
- "y" : 96
- },
- {
- "drilldown" : "015",
- "name" : "#015",
- "y" : 93
- },
- {
- "drilldown" : "016",
- "name" : "#016",
- "y" : 66
- },
- {
- "drilldown" : "017",
- "name" : "#017",
- "y" : 79
- },
- {
- "drilldown" : "018",
- "y" : 76,
- "name" : "#018"
- },
- {
- "y" : 97,
- "name" : "#019",
- "drilldown" : "019"
- },
- {
- "y" : 95,
- "name" : "#020",
- "drilldown" : "020"
- },
- {
- "drilldown" : "021",
- "name" : "#021",
- "y" : 67
- },
- {
- "drilldown" : "022",
- "y" : 63,
- "name" : "#022"
- },
- {
- "drilldown" : "023",
- "y" : 91,
- "name" : "#023"
- },
- {
- "drilldown" : "024",
- "name" : "#024",
- "y" : 70
- },
- {
- "name" : "#025",
- "y" : 55,
- "drilldown" : "025"
- },
- {
- "name" : "#026",
- "y" : 70,
- "drilldown" : "026"
- },
- {
- "drilldown" : "027",
- "name" : "#027",
- "y" : 58
- },
- {
- "drilldown" : "028",
- "y" : 78,
- "name" : "#028"
- },
- {
- "y" : 77,
- "name" : "#029",
- "drilldown" : "029"
- },
- {
- "name" : "#030",
- "y" : 115,
- "drilldown" : "030"
- },
- {
- "name" : "#031",
- "y" : 87,
- "drilldown" : "031"
- },
- {
- "name" : "#032",
- "y" : 92,
- "drilldown" : "032"
- },
- {
- "name" : "#033",
- "y" : 108,
- "drilldown" : "033"
- },
- {
- "y" : 62,
- "name" : "#034",
- "drilldown" : "034"
- },
- {
- "y" : 62,
- "name" : "#035",
- "drilldown" : "035"
- },
- {
- "y" : 66,
- "name" : "#036",
- "drilldown" : "036"
- },
- {
- "drilldown" : "037",
- "name" : "#037",
- "y" : 63
- },
- {
- "y" : 65,
- "name" : "#038",
- "drilldown" : "038"
- },
- {
- "name" : "#039",
- "y" : 60,
- "drilldown" : "039"
- },
- {
- "y" : 71,
- "name" : "#040",
- "drilldown" : "040"
- },
- {
- "drilldown" : "041",
- "name" : "#041",
- "y" : 74
- },
- {
- "drilldown" : "042",
- "name" : "#042",
- "y" : 88
- },
- {
- "name" : "#043",
- "y" : 65,
- "drilldown" : "043"
- },
- {
- "name" : "#044",
- "y" : 81,
- "drilldown" : "044"
- },
- {
- "drilldown" : "045",
- "y" : 94,
- "name" : "#045"
- },
- {
- "y" : 83,
- "name" : "#046",
- "drilldown" : "046"
- },
- {
- "drilldown" : "047",
- "name" : "#047",
- "y" : 81
- },
- {
- "y" : 106,
- "name" : "#048",
- "drilldown" : "048"
- },
- {
- "drilldown" : "049",
- "name" : "#049",
- "y" : 85
- },
- {
- "y" : 96,
- "name" : "#050",
- "drilldown" : "050"
- },
- {
- "name" : "#051",
- "y" : 87,
- "drilldown" : "051"
- },
- {
- "drilldown" : "052",
- "y" : 89,
- "name" : "#052"
- },
- {
- "drilldown" : "053",
- "y" : 99,
- "name" : "#053"
- },
- {
- "drilldown" : "054",
- "y" : 95,
- "name" : "#054"
- },
- {
- "drilldown" : "055",
- "name" : "#055",
- "y" : 85
- },
- {
- "drilldown" : "056",
- "name" : "#056",
- "y" : 87
- },
- {
- "drilldown" : "057",
- "name" : "#057",
- "y" : 23
- }
- ],
- "name" : "Perl Weekly Challenge Languages"
- }
- ],
"title" : {
"text" : "Perl Weekly Challenge Language"
},
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-04-22 08:34:31 GMT"
- },
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
- }
- },
- "tooltip" : {
- "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"
},
"drilldown" : {
"series" : [
{
- "name" : "001",
"data" : [
[
"Perl",
@@ -338,9 +25,11 @@
11
]
],
- "id" : "001"
+ "id" : "001",
+ "name" : "001"
},
{
+ "id" : "002",
"name" : "002",
"data" : [
[
@@ -355,8 +44,7 @@
"Blog",
10
]
- ],
- "id" : "002"
+ ]
},
{
"data" : [
@@ -373,12 +61,10 @@
9
]
],
- "id" : "003",
- "name" : "003"
+ "name" : "003",
+ "id" : "003"
},
{
- "name" : "004",
- "id" : "004",
"data" : [
[
"Perl",
@@ -392,9 +78,13 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "004",
+ "id" : "004"
},
{
+ "name" : "005",
+ "id" : "005",
"data" : [
[
"Perl",
@@ -408,13 +98,11 @@
"Blog",
12
]
- ],
- "id" : "005",
- "name" : "005"
+ ]
},
{
- "name" : "006",
"id" : "006",
+ "name" : "006",
"data" : [
[
"Perl",
@@ -431,7 +119,6 @@
]
},
{
- "id" : "007",
"data" : [
[
"Perl",
@@ -446,9 +133,12 @@
10
]
],
+ "id" : "007",
"name" : "007"
},
{
+ "name" : "008",
+ "id" : "008",
"data" : [
[
"Perl",
@@ -462,9 +152,7 @@
"Blog",
12
]
- ],
- "id" : "008",
- "name" : "008"
+ ]
},
{
"data" : [
@@ -481,11 +169,12 @@
13
]
],
- "id" : "009",
- "name" : "009"
+ "name" : "009",
+ "id" : "009"
},
{
"id" : "010",
+ "name" : "010",
"data" : [
[
"Perl",
@@ -499,8 +188,7 @@
"Blog",
11
]
- ],
- "name" : "010"
+ ]
},
{
"name" : "011",
@@ -535,11 +223,12 @@
11
]
],
- "id" : "012",
- "name" : "012"
+ "name" : "012",
+ "id" : "012"
},
{
"id" : "013",
+ "name" : "013",
"data" : [
[
"Perl",
@@ -553,11 +242,9 @@
"Blog",
13
]
- ],
- "name" : "013"
+ ]
},
{
- "id" : "014",
"data" : [
[
"Perl",
@@ -572,9 +259,11 @@
15
]
],
- "name" : "014"
+ "name" : "014",
+ "id" : "014"
},
{
+ "name" : "015",
"id" : "015",
"data" : [
[
@@ -589,8 +278,7 @@
"Blog",
15
]
- ],
- "name" : "015"
+ ]
},
{
"name" : "016",
@@ -643,10 +331,11 @@
14
]
],
- "id" : "018",
- "name" : "018"
+ "name" : "018",
+ "id" : "018"
},
{
+ "name" : "019",
"id" : "019",
"data" : [
[
@@ -661,8 +350,7 @@
"Blog",
13
]
- ],
- "name" : "019"
+ ]
},
{
"name" : "020",
@@ -683,7 +371,6 @@
]
},
{
- "name" : "021",
"data" : [
[
"Perl",
@@ -698,10 +385,12 @@
10
]
],
+ "name" : "021",
"id" : "021"
},
{
"id" : "022",
+ "name" : "022",
"data" : [
[
"Perl",
@@ -715,10 +404,11 @@
"Blog",
10
]
- ],
- "name" : "022"
+ ]
},
{
+ "id" : "023",
+ "name" : "023",
"data" : [
[
"Perl",
@@ -732,13 +422,11 @@
"Blog",
12
]
- ],
- "id" : "023",
- "name" : "023"
+ ]
},
{
- "name" : "024",
"id" : "024",
+ "name" : "024",
"data" : [
[
"Perl",
@@ -755,6 +443,7 @@
]
},
{
+ "id" : "025",
"name" : "025",
"data" : [
[
@@ -769,8 +458,7 @@
"Blog",
12
]
- ],
- "id" : "025"
+ ]
},
{
"data" : [
@@ -787,10 +475,11 @@
10
]
],
- "id" : "026",
- "name" : "026"
+ "name" : "026",
+ "id" : "026"
},
{
+ "id" : "027",
"name" : "027",
"data" : [
[
@@ -805,11 +494,9 @@
"Blog",
9
]
- ],
- "id" : "027"
+ ]
},
{
- "id" : "028",
"data" : [
[
"Perl",
@@ -824,10 +511,10 @@
9
]
],
+ "id" : "028",
"name" : "028"
},
{
- "id" : "029",
"data" : [
[
"Perl",
@@ -842,9 +529,11 @@
12
]
],
+ "id" : "029",
"name" : "029"
},
{
+ "id" : "030",
"name" : "030",
"data" : [
[
@@ -859,11 +548,11 @@
"Blog",
10
]
- ],
- "id" : "030"
+ ]
},
{
"name" : "031",
+ "id" : "031",
"data" : [
[
"Perl",
@@ -877,11 +566,9 @@
"Blog",
9
]
- ],
- "id" : "031"
+ ]
},
{
- "name" : "032",
"data" : [
[
"Perl",
@@ -896,7 +583,8 @@
10
]
],
- "id" : "032"
+ "id" : "032",
+ "name" : "032"
},
{
"name" : "033",
@@ -949,11 +637,10 @@
9
]
],
- "id" : "035",
- "name" : "035"
+ "name" : "035",
+ "id" : "035"
},
{
- "id" : "036",
"data" : [
[
"Perl",
@@ -968,11 +655,10 @@
11
]
],
+ "id" : "036",
"name" : "036"
},
{
- "name" : "037",
- "id" : "037",
"data" : [
[
"Perl",
@@ -986,7 +672,9 @@
"Blog",
9
]
- ]
+