aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-07-20 19:32:47 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-07-20 19:32:47 +0100
commitd96c3b3776fbb99ff873a07312075e0d34ea77c1 (patch)
tree2f85e979bbf74f4073aab5af604525f9cbacb700
parent58ac447afca0a3469b65da82b48e200058a9ce1a (diff)
downloadperlweeklychallenge-club-d96c3b3776fbb99ff873a07312075e0d34ea77c1.tar.gz
perlweeklychallenge-club-d96c3b3776fbb99ff873a07312075e0d34ea77c1.tar.bz2
perlweeklychallenge-club-d96c3b3776fbb99ff873a07312075e0d34ea77c1.zip
- Added solutions by Ulrich Rieke.
-rw-r--r--challenge-070/ulrich-rieke/cpp/ch-1.cpp29
-rw-r--r--challenge-070/ulrich-rieke/perl/ch-1.pl23
-rw-r--r--challenge-070/ulrich-rieke/raku/ch-1.raku16
-rw-r--r--challenge-070/ulrich-rieke/raku/ch-2.raku21
-rw-r--r--stats/pwc-current.json155
-rw-r--r--stats/pwc-language-breakdown-summary.json68
-rw-r--r--stats/pwc-language-breakdown.json494
-rw-r--r--stats/pwc-leaders.json702
-rw-r--r--stats/pwc-summary-1-30.json48
-rw-r--r--stats/pwc-summary-121-150.json44
-rw-r--r--stats/pwc-summary-151-180.json38
-rw-r--r--stats/pwc-summary-31-60.json112
-rw-r--r--stats/pwc-summary-61-90.json32
-rw-r--r--stats/pwc-summary-91-120.json104
-rw-r--r--stats/pwc-summary.json40
15 files changed, 1017 insertions, 909 deletions
diff --git a/challenge-070/ulrich-rieke/cpp/ch-1.cpp b/challenge-070/ulrich-rieke/cpp/ch-1.cpp
new file mode 100644
index 0000000000..721956fde7
--- /dev/null
+++ b/challenge-070/ulrich-rieke/cpp/ch-1.cpp
@@ -0,0 +1,29 @@
+#include <string>
+#include <iostream>
+#include <cstdlib>
+
+void swapLetters( std::string & word, int firstPos, int secondPos ) {
+ std::string temp( word.substr( secondPos , 1 ) ) ;
+ int len = word.length( ) ;
+ if ( secondPos < len - 1 )
+ word = word.substr( 0 , secondPos ) + word.substr( firstPos, 1 )
+ + word.substr( secondPos + 1 ) ;
+ else
+ word = word.substr( 0 , secondPos ) + word.substr( firstPos, 1 ) ;
+ if ( firstPos > 0 )
+ word = word.substr( 0 , firstPos ) + temp + word.substr( firstPos
+ + 1 ) ;
+ else
+ word = temp + word.substr( firstPos + 1 ) ;
+}
+
+int main( int argc, char * argv[] ) {
+ std::string word( argv[ 1 ] ) ;
+ int c = std::atoi( argv[ 2 ] ) ;
+ int o = std::atoi( argv[ 3 ] ) ;
+ int n = word.length( ) ;
+ for ( int i = 1 ; i < c + 1 ; i++ )
+ swapLetters( word , i % n , ( i + o ) % n ) ;
+ std::cout << word << std::endl ;
+ return 0 ;
+}
diff --git a/challenge-070/ulrich-rieke/perl/ch-1.pl b/challenge-070/ulrich-rieke/perl/ch-1.pl
new file mode 100644
index 0000000000..d71f920269
--- /dev/null
+++ b/challenge-070/ulrich-rieke/perl/ch-1.pl
@@ -0,0 +1,23 @@
+#!/usr/bin/perl ;
+use strict ;
+use warnings ;
+use feature 'say' ;
+
+sub swapLetters {
+ my $word = shift ;
+ my $firstPos = shift ;
+ my $secondPos = shift ;
+ my $temp = substr( $word , $secondPos , 1 ) ;
+ substr( $word , $secondPos , 1 ) = substr( $word, $firstPos , 1 ) ;
+ substr( $word , $firstPos , 1 ) = $temp ;
+ return $word ;
+}
+
+my $word = $ARGV[0] ;
+my $C = $ARGV[ 1 ] ;
+my $O = $ARGV[ 2 ] ;
+my $len = length $word ;
+for my $i ( 1..$C ) {
+ $word = swapLetters( $word , $i % $len , ( $i + $O ) % $len ) ;
+}
+say $word ;
diff --git a/challenge-070/ulrich-rieke/raku/ch-1.raku b/challenge-070/ulrich-rieke/raku/ch-1.raku
new file mode 100644
index 0000000000..7d264bc09e
--- /dev/null
+++ b/challenge-070/ulrich-rieke/raku/ch-1.raku
@@ -0,0 +1,16 @@
+use v6 ;
+
+sub swapLetters( Str $word is copy , Int $firstPos, Int $secondPos --> Str) {
+ my $temp = $word.substr( $secondPos , 1 ) ;
+ $word.substr-rw( $secondPos , 1 ) = $word.substr( $firstPos , 1 ) ;
+ $word.substr-rw( $firstPos , 1 ) = $temp ;
+ return $word ;
+}
+
+sub MAIN( Str $word is copy, Int $C , Int $O ) {
+ my $len = $word.chars ;
+ for (1..$C) -> $i {
+ $word = swapLetters( $word , $i % $len , ( $i + $O ) % $len ) ;
+ }
+ $word.say ;
+}
diff --git a/challenge-070/ulrich-rieke/raku/ch-2.raku b/challenge-070/ulrich-rieke/raku/ch-2.raku
new file mode 100644
index 0000000000..7e164dffa5
--- /dev/null
+++ b/challenge-070/ulrich-rieke/raku/ch-2.raku
@@ -0,0 +1,21 @@
+use v6 ;
+
+sub MAIN( Int $limit ) {
+ my $n = 1 ;
+ my @current = ( "0" , "1" ) ;
+ while ( $n < $limit ) {
+ for @current.reverse -> $element {
+ @current.push( $element ) ;
+ }
+ my $len = @current.elems ;
+ for (0.. $len div 2 - 1) -> $i {
+ @current[ $i ] = "0" ~ @current[ $i ] ;
+ }
+ for ( $len div 2 .. $len - 1 ) -> $i {
+ @current[ $i ] = "1" ~ @current[ $i ] ;
+ }
+ $n++ ;
+ }
+ my @numbers = @current.map( {.parse-base( 2 ) } ) ;
+ say @numbers ;
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 215245d3e6..247941d336 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,66 +1,10 @@
{
- "subtitle" : {
- "text" : "[Champions: 5] Last updated at 2020-07-20 13:37:19 GMT"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "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
- },
- "series" : [
- {
- "name" : "Perl Weekly Challenge - 070",
- "data" : [
- {
- "y" : 4,
- "name" : "Andrew Shitov",
- "drilldown" : "Andrew Shitov"
- },
- {
- "y" : 5,
- "drilldown" : "Javier Luque",
- "name" : "Javier Luque"
- },
- {
- "y" : 4,
- "name" : "Mohammad S Anwar",
- "drilldown" : "Mohammad S Anwar"
- },
- {
- "drilldown" : "Roger Bell_West",
- "name" : "Roger Bell_West",
- "y" : 4
- },
- {
- "y" : 3,
- "drilldown" : "Simon Green",
- "name" : "Simon Green"
- }
- ],
- "colorByPoint" : 1
- }
- ],
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- }
- }
+ "xAxis" : {
+ "type" : "category"
},
"drilldown" : {
"series" : [
{
- "name" : "Andrew Shitov",
"data" : [
[
"Raku",
@@ -71,9 +15,12 @@
2
]
],
- "id" : "Andrew Shitov"
+ "id" : "Andrew Shitov",
+ "name" : "Andrew Shitov"
},
{
+ "id" : "Javier Luque",
+ "name" : "Javier Luque",
"data" : [
[
"Perl",
@@ -87,13 +34,11 @@
"Blog",
1
]
- ],
- "name" : "Javier Luque",
- "id" : "Javier Luque"
+ ]
},
{
- "id" : "Mohammad S Anwar",
"name" : "Mohammad S Anwar",
+ "id" : "Mohammad S Anwar",
"data" : [
[
"Perl",
@@ -106,6 +51,7 @@
]
},
{
+ "name" : "Roger Bell_West",
"id" : "Roger Bell_West",
"data" : [
[
@@ -116,11 +62,9 @@
"Raku",
2
]
- ],
- "name" : "Roger Bell_West"
+ ]
},
{
- "id" : "Simon Green",
"data" : [
[
"Perl",
@@ -131,16 +75,91 @@
1
]
],
+ "id" : "Simon Green",
"name" : "Simon Green"
+ },
+ {
+ "id" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke",
+ "data" : [
+ [
+ "Perl",
+ 1
+ ],
+ [
+ "Raku",
+ 2
+ ]
+ ]
}
]
},
- "xAxis" : {
- "type" : "category"
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ }
+ }
+ },
+ "tooltip" : {
+ "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/>",
+ "followPointer" : 1
+ },
+ "legend" : {
+ "enabled" : 0
+ },
+ "series" : [
+ {
+ "data" : [
+ {
+ "y" : 4,
+ "drilldown" : "Andrew Shitov",
+ "name" : "Andrew Shitov"
+ },
+ {
+ "y" : 5,
+ "name" : "Javier Luque",
+ "drilldown" : "Javier Luque"
+ },
+ {
+ "drilldown" : "Mohammad S Anwar",
+ "name" : "Mohammad S Anwar",
+ "y" : 4
+ },
+ {
+ "y" : 4,
+ "drilldown" : "Roger Bell_West",
+ "name" : "Roger Bell_West"
+ },
+ {
+ "y" : 3,
+ "drilldown" : "Simon Green",
+ "name" : "Simon Green"
+ },
+ {
+ "y" : 3,
+ "name" : "Ulrich Rieke",
+ "drilldown" : "Ulrich Rieke"
+ }
+ ],
+ "colorByPoint" : 1,
+ "name" : "Perl Weekly Challenge - 070"
+ }
+ ],
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
},
"title" : {
"text" : "Perl Weekly Challenge - 070"
},
+ "subtitle" : {
+ "text" : "[Champions: 6] Last updated at 2020-07-20 18:32:24 GMT"
+ },
"chart" : {
"type" : "column"
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 21e6219f9b..f8087c2972 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,24 +1,27 @@
{
- "xAxis" : {
- "labels" : {
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- }
- },
- "type" : "category"
- },
"title" : {
"text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
},
- "chart" : {
- "type" : "column"
- },
- "legend" : {
- "enabled" : "false"
+ "yAxis" : {
+ "title" : {
+ "text" : null
+ },
+ "min" : 0
},
"series" : [
{
+ "dataLabels" : {
+ "format" : "{point.y:.0f}",
+ "enabled" : "true",
+ "rotation" : -90,
+ "color" : "#FFFFFF",
+ "align" : "right",
+ "y" : 10,
+ "style" : {
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
+ }
+ },
"name" : "Contributions",
"data" : [
[
@@ -27,35 +30,32 @@
],
[
"Perl",
- 2867
+ 2868
],
[
"Raku",
- 1840
+ 1842
]
- ],
- "dataLabels" : {
- "style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
- },
- "y" : 10,
- "enabled" : "true",
- "color" : "#FFFFFF",
- "align" : "right",
- "format" : "{point.y:.0f}",
- "rotation" : -90
- }
+ ]
}
],
+ "chart" : {
+ "type" : "column"
+ },
"subtitle" : {
- "text" : "Last updated at 2020-07-20 13:37:19 GMT"
+ "text" : "Last updated at 2020-07-20 18:32:24 GMT"
},
- "yAxis" : {
- "title" : {
- "text" : null
+ "xAxis" : {
+ "labels" : {
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ }
},
- "min" : 0
+ "type" : "category"
+ },
+ "legend" : {
+ "enabled" : "false"
},
"tooltip" : {
"pointFormat" : "<b>{point.y:.0f}</b>"
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 4a44c0ce5a..99be52ceab 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,12 +1,11 @@
{
- "xAxis" : {
- "type" : "category"
- },
- "title" : {
- "text" : "Perl Weekly Challenge Language"
+ "legend" : {
+ "enabled" : "false"
},
- "chart" : {
- "type" : "column"
+ "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"
},
"plotOptions" : {
"series" : {
@@ -20,8 +19,6 @@
"drilldown" : {
"series" : [
{
- "id" : "001",
- "name" : "001",
"data" : [
[
"Perl",
@@ -35,9 +32,13 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "001",
+ "id" : "001"
},
{
+ "name" : "002",
+ "id" : "002",
"data" : [
[
"Perl",
@@ -51,9 +52,7 @@
"Blog",
10
]
- ],
- "name" : "002",
- "id" : "002"
+ ]
},
{
"data" : [
@@ -74,7 +73,6 @@
"id" : "003"
},
{
- "name" : "004",
"data" : [
[
"Perl",
@@ -89,10 +87,10 @@
10
]
],
- "id" : "004"
+ "id" : "004",
+ "name" : "004"
},
{
- "name" : "005",
"data" : [
[
"Perl",
@@ -107,9 +105,11 @@
12
]
],
+ "name" : "005",
"id" : "005"
},
{
+ "name" : "006",
"id" : "006",
"data" : [
[
@@ -124,11 +124,9 @@
"Blog",
7
]
- ],
- "name" : "006"
+ ]
},
{
- "id" : "007",
"data" : [
[
"Perl",
@@ -143,11 +141,12 @@
10
]
],
+ "id" : "007",
"name" : "007"
},
{
- "id" : "008",
"name" : "008",
+ "id" : "008",
"data" : [
[
"Perl",
@@ -164,7 +163,6 @@
]
},
{
- "id" : "009",
"data" : [
[
"Perl",
@@ -179,11 +177,10 @@
13
]
],
- "name" : "009"
+ "name" : "009",
+ "id" : "009"
},
{
- "id" : "010",
- "name" : "010",
"data" : [
[
"Perl",
@@ -197,10 +194,13 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "010",
+ "name" : "010"
},
{
"name" : "011",
+ "id" : "011",
"data" : [
[
"Perl",
@@ -214,10 +214,11 @@
"Blog",
10
]
- ],
- "id" : "011"
+ ]
},
{
+ "name" : "012",
+ "id" : "012",
"data" : [
[
"Perl",
@@ -231,13 +232,9 @@
"Blog",
11
]
- ],
- "name" : "012",
- "id" : "012"
+ ]
},
{
- "id" : "013",
- "name" : "013",
"data" : [
[
"Perl",
@@ -251,11 +248,13 @@
"Blog",
13
]
- ]
+ ],
+ "name" : "013",
+ "id" : "013"
},
{
- "id" : "014",
"name" : "014",
+ "id" : "014",
"data" : [
[
"Perl",
@@ -290,7 +289,6 @@
"id" : "015"
},
{
- "id" : "016",
"data" : [
[
"Perl",
@@ -305,9 +303,11 @@
12
]
],
+ "id" : "016",
"name" : "016"
},
{
+ "id" : "017",
"name" : "017",
"data" : [
[
@@ -322,12 +322,9 @@
"Blog",
12
]
- ],
- "id" : "017"
+ ]
},
{
- "id" : "018",
- "name" : "018",
"data" : [
[
"Perl",
@@ -341,10 +338,11 @@
"Blog",
14
]
- ]
+ ],
+ "id" : "018",
+ "name" : "018"
},
{
- "id" : "019",
"data" : [
[
"Perl",
@@ -359,10 +357,12 @@
13
]
],
+ "id" : "019",
"name" : "019"
},
{
"id" : "020",
+ "name" : "020",
"data" : [
[
"Perl",
@@ -376,10 +376,10 @@
"Blog",
13
]
- ],
- "name" : "020"
+ ]
},
{
+ "name" : "021",
"id" : "021",
"data" : [
[
@@ -394,10 +394,10 @@
"Blog",
10
]
- ],
- "name" : "021"
+ ]
},
{
+ "name" : "022",
"id" : "022",
"data" : [
[
@@ -412,12 +412,11 @@
"Blog",
10
]
- ],
- "name" : "022"
+ ]
},
{
- "id" : "023",
"name" : "023",
+ "id" : "023",
"data" : [
[
"Perl",
@@ -434,8 +433,6 @@
]
},
{
- "id" : "024",
- "name" : "024",
"data" : [
[
"Perl",
@@ -449,10 +446,13 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "024",
+ "name" : "024"
},
{
"name" : "025",
+ "id" : "025",
"data" : [
[
"Perl",
@@ -466,10 +466,10 @@
"Blog",
12
]
- ],
- "id" : "025"
+ ]
},
{
+ "id" : "026",
"name" : "026",
"data" : [
[
@@ -484,12 +484,9 @@
"Blog",
10
]
- ],
- "id" : "026"
+ ]
},
{
- "id" : "027",
- "name" : "027",
"data" : [
[
"Perl",
@@ -503,10 +500,13 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "027",
+ "name" : "027"
},
{
"id" : "028",
+ "name" : "028",
"data" : [
[
"Perl",
@@ -520,8 +520,7 @@
"Blog",
9
]
- ],
- "name" : "028"
+ ]
},
{
"data" : [
@@ -542,8 +541,6 @@
"id" : "029"
},
{
- "id" : "030",
- "name" : "030",
"data" : [
[
"Perl",
@@ -557,10 +554,11 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "030",
+ "name" : "030"
},
{
- "name" : "031",
"data" : [
[
"Perl",
@@ -575,9 +573,12 @@
9
]
],
+ "name" : "031",
"id" : "031"
},
{
+ "name" : "032",
+ "id" : "032",
"data" : [
[
"Perl",
@@ -591,11 +592,11 @@
"Blog",
10
]
- ],
- "name" : "032",
- "id" : "032"
+ ]
},
{
+ "id" : "033",
+ "name" : "033",
"data" : [
[
"Perl",
@@ -609,12 +610,9 @@
"Blog",
10
]
- ],
- "name" : "033",
- "id" : "033"
+ ]
},
{
- "name" : "034",
"data" : [
[
"Perl",
@@ -629,9 +627,11 @@
11
]
],
+ "name" : "034",
"id" : "034"
},
{
+ "id" : "035",
"name" : "035",
"data" : [
[
@@ -646,10 +646,10 @@
"Blog",
9
]
- ],
- "id" : "035"
+ ]
},
{
+ "name" : "036",
"id" : "036",
"data" : [
[
@@ -664,8 +664,7 @@
"Blog",
11
]
- ],
- "name" : "036"
+ ]
},
{
"data" : [
@@ -686,6 +685,8 @@
"id" : "037"
},
{
+ "name" : "038",
+ "id" : "038",
"data" : [
[
"Perl",
@@ -699,12 +700,9 @@
"Blog",
12
]
- ],
- "name" : "038",
- "id" : "038"
+ ]
},
{
- "id" : "039",
"data" : [
[
"Perl",
@@ -719,11 +717,10 @@
12
]
],
+ "id" : "039",
"name" : "039"
},
{
- "id" : "040",
- "name" : "040",
"data" : [
[
"Perl",
@@ -737,10 +734,11 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "040",
+ "name" : "040"
},
{
- "id" : "041",
"data" : [
[
"Perl",
@@ -755,6 +753,7 @@
9
]
],
+ "id" : "041",
"name" : "041"
},
{
@@ -776,8 +775,6 @@
"id" : "042"
},
{
- "id" : "043",
- "name" : "043",
"data" : [
[
"Perl",
@@ -791,11 +788,11 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "043",
+ "name" : "043"
},
{
- "id" : "044",
- "name" : "044",
"data" : [
[
"Perl",
@@ -809,7 +806,9 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "044",
+ "name" : "044"
},
{
"id" : "045",
@@ -848,7 +847,6 @@
"id" : "046"
},
{
- "name" : "047",
"data" : [
[
"Perl",
@@ -863,6 +861,7 @@
10
]
],
+ "name" : "047",
"id" : "047"
},
{
@@ -885,6 +884,7 @@
},
{
"name" : "049",
+ "id" : "049",
"data" : [
[
"Perl",
@@ -898,12 +898,11 @@
"Blog",
12
]
- ],
- "id" : "049"
+ ]
},
{
- "id" : "050",
"name" : "050",
+ "id" : "050",
"data" : [
[
"Perl",
@@ -920,7 +919,6 @@
]
},
{
- "id" : "051",
"data" : [
[
"Perl",
@@ -935,10 +933,10 @@
11
]
],
- "name" : "051"
+ "name" : "051",
+ "id" : "051"
},
{
- "id" : "052",
"data" : [
[
"Perl",
@@ -953,10 +951,12 @@
14
]
],
+ "id" : "052",
"name" : "052"
},
{
"id" : "053",
+ "name" : "053",
"data" : [
[
"Perl",
@@ -970,12 +970,9 @@
"Blog",
15
]
- ],
- "name" : "053"
+ ]
},
{
- "id" : "054",
- "name" : "054",
"data" : [
[
"Perl",
@@ -989,11 +986,13 @@
"Blog",
18
]
- ]
+ ],
+ "name" : "054",
+ "id" : "054"
},
{
- "id" : "055",
"name" : "055",
+ "id" : "055",
"data" : [
[
"Perl",
@@ -1010,7 +1009,6 @@
]
},
{
- "name" : "056",
"data" : [
[
"Perl",
@@ -1025,10 +1023,12 @@
16
]
],
- "id" : "056"
+ "id" : "056",
+ "name" : "056"
},
{
"id" : "057",
+ "name" : "057",
"data" : [
[
"Perl",
@@ -1042,11 +1042,9 @@
"Blog",
15
]
- ],