diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-08-23 22:21:26 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-08-23 22:21:26 +0100 |
| commit | 5151138f5535d34ec708c8b2be5292bd15173ddb (patch) | |
| tree | 16849ec928a2276cf38d1d7c754054b2786ae6a6 | |
| parent | c31062ced9e8cf3b48e7d670b63c3a2cd57f6b09 (diff) | |
| download | perlweeklychallenge-club-5151138f5535d34ec708c8b2be5292bd15173ddb.tar.gz perlweeklychallenge-club-5151138f5535d34ec708c8b2be5292bd15173ddb.tar.bz2 perlweeklychallenge-club-5151138f5535d34ec708c8b2be5292bd15173ddb.zip | |
- Added solutions by Arne Sommer.
| -rw-r--r-- | challenge-074/arne-sommer/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-074/arne-sommer/raku/ch-1.raku | 17 | ||||
| -rwxr-xr-x | challenge-074/arne-sommer/raku/ch-2.raku | 39 | ||||
| -rwxr-xr-x | challenge-074/arne-sommer/raku/fnr-character | 39 | ||||
| -rwxr-xr-x | challenge-074/arne-sommer/raku/fnr-character-wrongish | 39 | ||||
| -rwxr-xr-x | challenge-074/arne-sommer/raku/majority-element | 17 | ||||
| -rwxr-xr-x | challenge-074/arne-sommer/raku/majority-element-wrongish | 15 | ||||
| -rw-r--r-- | stats/pwc-current.json | 275 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 54 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1026 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 332 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 404 |
19 files changed, 1435 insertions, 1249 deletions
diff --git a/challenge-074/arne-sommer/blog.txt b/challenge-074/arne-sommer/blog.txt new file mode 100644 index 0000000000..e2c5b888ac --- /dev/null +++ b/challenge-074/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/majority-character.html diff --git a/challenge-074/arne-sommer/raku/ch-1.raku b/challenge-074/arne-sommer/raku/ch-1.raku new file mode 100755 index 0000000000..cde35bbc87 --- /dev/null +++ b/challenge-074/arne-sommer/raku/ch-1.raku @@ -0,0 +1,17 @@ +#! /usr/bin/env raku + +subset NonNegativeInt of Int where * >= 0; + +unit sub MAIN (*@A where @A.elems >= 1 && all(@A) ~~ NonNegativeInt); + +my $N = @A.elems; + +my %count; + +my $floor = floor($N / 2); + +@A.map({ %count{$_}++ }); + +my $value = %count.keys.grep({ %count{$_} > $floor })[0]; + +say $value // '-1'; diff --git a/challenge-074/arne-sommer/raku/ch-2.raku b/challenge-074/arne-sommer/raku/ch-2.raku new file mode 100755 index 0000000000..a253fa6dd4 --- /dev/null +++ b/challenge-074/arne-sommer/raku/ch-2.raku @@ -0,0 +1,39 @@ +#! /usr/bin/env raku + +unit sub MAIN ($S where $S.chars >= 1 && ! $S.contains('#'), :v(:$verbose)); + +my $length = $S.chars; + +my $result; + +for 1 .. $length -> $pass +{ + my $substring = $S.substr(0, $pass); + + my %count; + my @characters; + + for $substring.comb.reverse -> $character + { + @characters.push($character) unless %count{$character}; + %count{$character}++; + } + + my $found = '#'; + + for @characters -> $character + { + if %count{$character} == 1 + { + $found = $character; + last; + } + } + + $result ~= $found; + + say ": Pass $pass: \"$substring\" FNR: $found" if $verbose; +} + +say $result; + diff --git a/challenge-074/arne-sommer/raku/fnr-character b/challenge-074/arne-sommer/raku/fnr-character new file mode 100755 index 0000000000..a253fa6dd4 --- /dev/null +++ b/challenge-074/arne-sommer/raku/fnr-character @@ -0,0 +1,39 @@ +#! /usr/bin/env raku + +unit sub MAIN ($S where $S.chars >= 1 && ! $S.contains('#'), :v(:$verbose)); + +my $length = $S.chars; + +my $result; + +for 1 .. $length -> $pass +{ + my $substring = $S.substr(0, $pass); + + my %count; + my @characters; + + for $substring.comb.reverse -> $character + { + @characters.push($character) unless %count{$character}; + %count{$character}++; + } + + my $found = '#'; + + for @characters -> $character + { + if %count{$character} == 1 + { + $found = $character; + last; + } + } + + $result ~= $found; + + say ": Pass $pass: \"$substring\" FNR: $found" if $verbose; +} + +say $result; + diff --git a/challenge-074/arne-sommer/raku/fnr-character-wrongish b/challenge-074/arne-sommer/raku/fnr-character-wrongish new file mode 100755 index 0000000000..035cda37cb --- /dev/null +++ b/challenge-074/arne-sommer/raku/fnr-character-wrongish @@ -0,0 +1,39 @@ +#! /usr/bin/env raku + +unit sub MAIN ($S where $S.chars >= 1, :v(:$verbose)); + +my $length = $S.chars; + +my $result; + +for 1 .. $length -> $pass +{ + my $substring = $S.substr(0, $pass); + + my %count; + my @characters; + + for $substring.comb.reverse -> $character + { + @characters.push($character) unless %count{$character}; + %count{$character}++; + } + + my $found = '#'; + + for @characters -> $character + { + if %count{$character} == 1 + { + $found = $character; + last; + } + } + + $result ~= $found; + + say ": Pass $pass: \"$substring\" FNR: $found" if $verbose; +} + +say $result; + diff --git a/challenge-074/arne-sommer/raku/majority-element b/challenge-074/arne-sommer/raku/majority-element new file mode 100755 index 0000000000..cde35bbc87 --- /dev/null +++ b/challenge-074/arne-sommer/raku/majority-element @@ -0,0 +1,17 @@ +#! /usr/bin/env raku + +subset NonNegativeInt of Int where * >= 0; + +unit sub MAIN (*@A where @A.elems >= 1 && all(@A) ~~ NonNegativeInt); + +my $N = @A.elems; + +my %count; + +my $floor = floor($N / 2); + +@A.map({ %count{$_}++ }); + +my $value = %count.keys.grep({ %count{$_} > $floor })[0]; + +say $value // '-1'; diff --git a/challenge-074/arne-sommer/raku/majority-element-wrongish b/challenge-074/arne-sommer/raku/majority-element-wrongish new file mode 100755 index 0000000000..73153a18d7 --- /dev/null +++ b/challenge-074/arne-sommer/raku/majority-element-wrongish @@ -0,0 +1,15 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@A where @A.elems >= 1 && all(@A) ~~ Int); + +my $N = @A.elems; + +my %count; + +my $floor = floor($N / 2); + +@A.map({ %count{$_}++ }); + +my $value = %count.keys.grep({ %count{$_} > $floor })[0]; + +say $value // '-1'; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 1b0308a34c..ab22bd550a 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,10 +1,30 @@ { + "xAxis" : { + "type" : "category" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "subtitle" : { + "text" : "[Champions: 37] Last updated at 2020-08-23 21:21:14 GMT" + }, + "title" : { + "text" : "Perl Weekly Challenge - 074" + }, + "chart" : { + "type" : "column" + }, + "legend" : { + "enabled" : 0 + }, "plotOptions" : { "series" : { "borderWidth" : 0, "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" + "format" : "{point.y}", + "enabled" : 1 } } }, @@ -12,64 +32,69 @@ { "data" : [ { - "drilldown" : "Andrew Shitov", + "name" : "Andrew Shitov", "y" : 3, - "name" : "Andrew Shitov" + "drilldown" : "Andrew Shitov" }, { + "drilldown" : "Arne Sommer", + "y" : 3, + "name" : "Arne Sommer" + }, + { + "drilldown" : "Athanasius", "y" : 4, - "name" : "Athanasius", - "drilldown" : "Athanasius" + "name" : "Athanasius" }, { - "y" : 3, "name" : "Bartosz Jarzyna", + "y" : 3, "drilldown" : "Bartosz Jarzyna" }, { + "drilldown" : "Bob Lied", "y" : 2, - "name" : "Bob Lied", - "drilldown" : "Bob Lied" + "name" : "Bob Lied" }, { "drilldown" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung", - "y" : 2 + "y" : 2, + "name" : "Cheok-Yin Fung" }, { - "y" : 5, "name" : "Colin Crain", + "y" : 5, "drilldown" : "Colin Crain" }, { - "y" : 1, "name" : "Cristina Heredia", + "y" : 1, "drilldown" : "Cristina Heredia" }, { "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby", - "y" : 2 + "y" : 2, + "name" : "Dave Jacoby" }, { + "drilldown" : "Duncan C. White", "name" : "Duncan C. White", - "y" : 2, - "drilldown" : "Duncan C. White" + "y" : 2 }, { + "drilldown" : "E. Choroba", "name" : "E. Choroba", - "y" : 2, - "drilldown" : "E. Choroba" + "y" : 2 }, { - "name" : "Jaldhar H. Vyas", + "drilldown" : "Jaldhar H. Vyas", "y" : 5, - "drilldown" : "Jaldhar H. Vyas" + "name" : "Jaldhar H. Vyas" }, { - "name" : "Jan Krnavek", + "drilldown" : "Jan Krnavek", "y" : 2, - "drilldown" : "Jan Krnavek" + "name" : "Jan Krnavek" }, { "drilldown" : "Jason Messer", @@ -77,14 +102,14 @@ "name" : "Jason Messer" }, { - "drilldown" : "Javier Luque", + "name" : "Javier Luque", "y" : 5, - "name" : "Javier Luque" + "drilldown" : "Javier Luque" }, { - "drilldown" : "Jorg Sommrey", "name" : "Jorg Sommrey", - "y" : 2 + "y" : 2, + "drilldown" : "Jorg Sommrey" }, { "name" : "Lance Wicks", @@ -92,9 +117,9 @@ "drilldown" : "Lance Wicks" }, { + "drilldown" : "Laurent Rosenfeld", "name" : "Laurent Rosenfeld", - "y" : 5, - "drilldown" : "Laurent Rosenfeld" + "y" : 5 }, { "drilldown" : "Lubos Kolouch", @@ -107,24 +132,24 @@ "y" : 4 }, { - "name" : "Mark Anderson", "y" : 2, + "name" : "Mark Anderson", "drilldown" : "Mark Anderson" }, { - "name" : "Markus Holzer", + "drilldown" : "Markus Holzer", "y" : 2, - "drilldown" : "Markus Holzer" + "name" : "Markus Holzer" }, { + "drilldown" : "Mohammad S Anwar", "y" : 7, - "name" : "Mohammad S Anwar", - "drilldown" : "Mohammad S Anwar" + "name" : "Mohammad S Anwar" }, { - "y" : 4, + "drilldown" : "Myoungjin Jeon", "name" : "Myoungjin Jeon", - "drilldown" : "Myoungjin Jeon" + "y" : 4 }, { "drilldown" : "Niels van Dijke", @@ -132,14 +157,14 @@ "y" : 2 }, { - "drilldown" : "Nuno Vieira", + "y" : 2, "name" : "Nuno Vieira", - "y" : 2 + "drilldown" : "Nuno Vieira" }, { - "drilldown" : "Pavel Kuptsov", "name" : "Pavel Kuptsov", - "y" : 1 + "y" : 1, + "drilldown" : "Pavel Kuptsov" }, { "drilldown" : "Pete Houston", @@ -147,14 +172,14 @@ "name" : "Pete Houston" }, { - "name" : "Roger Bell_West", "y" : 5, + "name" : "Roger Bell_West", "drilldown" : "Roger Bell_West" }, { - "y" : 3, + "drilldown" : "Shahed Nooshmand", "name" : "Shahed Nooshmand", - "drilldown" : "Shahed Nooshmand" + "y" : 3 }, { "drilldown" : "Shawn Wagner", @@ -162,9 +187,9 @@ "y" : 2 }, { - "drilldown" : "Simon Green", "y" : 3, - "name" : "Simon Green" + "name" : "Simon Green", + "drilldown" : "Simon Green" }, { "name" : "Simon Proctor", @@ -177,13 +202,13 @@ "drilldown" : "Steven Wilson" }, { - "drilldown" : "Ulrich Rieke", "y" : 4, - "name" : "Ulrich Rieke" + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke" }, { - "y" : 3, "name" : "Walt Mankowski", + "y" : 3, "drilldown" : "Walt Mankowski" }, { @@ -196,14 +221,6 @@ "name" : "Perl Weekly Challenge - 074" } ], - "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 - }, - "legend" : { - "enabled" : 0 - }, "drilldown" : { "series" : [ { @@ -221,7 +238,20 @@ "name" : "Andrew Shitov" }, { - "id" : "Athanasius", + "name" : "Arne Sommer", + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Arne Sommer" + }, + { "data" : [ [ "Perl", @@ -232,9 +262,11 @@ 2 ] ], + "id" : "Athanasius", "name" : "Athanasius" }, { + "id" : "Bartosz Jarzyna", "data" : [ [ "Perl", @@ -245,7 +277,6 @@ 1 ] ], - "id" : "Bartosz Jarzyna", "name" : "Bartosz Jarzyna" }, { @@ -259,17 +290,16 @@ "name" : "Bob Lied" }, { - "id" : "Cheok-Yin Fung", "data" : [ [ "Perl", 2 ] ], + "id" : "Cheok-Yin Fung", "name" : "Cheok-Yin Fung" }, { - "name" : "Colin Crain", "data" : [ [ "Perl", @@ -284,47 +314,48 @@ 1 ] ], - "id" : "Colin Crain" + "id" : "Colin Crain", + "name" : "Colin Crain" }, { - "id" : "Cristina Heredia", "data" : [ [ "Perl", 1 ] ], + "id" : "Cristina Heredia", "name" : "Cristina Heredia" }, { + "name" : "Dave Jacoby", "id" : "Dave Jacoby", "data" : [ [ "Perl", 2 ] - ], - "name" : "Dave Jacoby" + ] }, { + "name" : "Duncan C. White", "id" : "Duncan C. White", "data" : [ [ "Perl", 2 ] - ], - "name" : "Duncan C. White" + ] }, { - "name" : "E. Choroba", + "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "id" : "E. Choroba" + "name" : "E. Choroba" }, { "data" : [ @@ -345,27 +376,26 @@ "name" : "Jaldhar H. Vyas" }, { - "name" : "Jan Krnavek", - "id" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Jan Krnavek", + "name" : "Jan Krnavek" }, { + "name" : "Jason Messer", + "id" : "Jason Messer", "data" : [ [ "Raku", 2 ] - ], - "id" : "Jason Messer", - "name" : "Jason Messer" + ] }, { - "name" : "Javier Luque", "id" : "Javier Luque", "data" : [ [ @@ -380,19 +410,21 @@ "Blog", 1 ] - ] + ], + "name" : "Javier Luque" }, { "name" : "Jorg Sommrey", + "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ], - "id" : "Jorg Sommrey" + ] }, { + "name" : "Lance Wicks", "data" : [ [ "Perl", @@ -403,12 +435,9 @@ 2 ] ], - "id" : "Lance Wicks", - "name" : "Lance Wicks" + "id" : "Lance Wicks" }, { - "name" : "Laurent Rosenfeld", - "id" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -422,16 +451,18 @@ "Blog", 1 ] - ] + ], + "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" }, { - "id" : "Lubos Kolouch", "data" : [ [ "Perl", 2 ] ], + "id" : "Lubos Kolouch", "name" : "Lubos Kolouch" }, { @@ -449,24 +480,24 @@ "name" : "Luca Ferrari" }, { - "name" : "Mark Anderson", "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Mark Anderson" }, { - "id" : "Markus Holzer", + "name" : "Markus Holzer", "data" : [ [ "Raku", 2 ] ], - "name" : "Markus Holzer" + "id" : "Markus Holzer" }, { "data" : [ @@ -487,6 +518,7 @@ "name" : "Mohammad S Anwar" }, { + "name" : "Myoungjin Jeon", "id" : "Myoungjin Jeon", "data" : [ [ @@ -497,51 +529,51 @@ "Raku", 2 ] - ], - "name" : "Myoungjin Jeon" + ] }, { + "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], - "id" : "Niels van Dijke", "name" : "Niels van Dijke" }, { - "name" : "Nuno Vieira", "id" : "Nuno Vieira", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Nuno Vieira" }, { + "name" : "Pavel Kuptsov", "id" : "Pavel Kuptsov", "data" : [ [ "Perl", 1 ] - ], - "name" : "Pavel Kuptsov" + ] }, { + "name" : "Pete Houston", + "id" : "Pete Houston", "data" : [ [ "Perl", 2 ] - ], - "id" : "Pete Houston", - "name" : "Pete Houston" + ] }, { "name" : "Roger Bell_West", + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -555,10 +587,10 @@ "Blog", 1 ] - ], - "id" : "Roger Bell_West" + ] }, { + "name" : "Shahed Nooshmand", "data" : [ [ "Raku", @@ -569,20 +601,20 @@ 1 ] ], - "id" : "Shahed Nooshmand", - "name" : "Shahed Nooshmand" + "id" : "Shahed Nooshmand" }, { - "name" : "Shawn Wagner", "id" : "Shawn Wagner", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Shawn Wagner" }, { + "name" : "Simon Green", "data" : [ [ "Perl", @@ -593,31 +625,29 @@ 1 ] ], - "id" : "Simon Green", - "name" : "Simon Green" + "id" : "Simon Green" }, { - "id" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], + "id" : "Simon Proctor", "name" : "Simon Proctor" }, { "name" : "Steven Wilson", - "id" : "Steven Wilson", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Steven Wilson" }, { - "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -628,6 +658,7 @@ 2 ] ], + "id" : "Ulrich Rieke", "name" : "Ulrich Rieke" }, { @@ -646,31 +677,19 @@ }, { "name" : "Wanderdoc", + "id" : "Wanderdoc", "data" : [ [ "Perl", 2 ] - ], - "id" : "Wanderdoc" + ] } ] }, - "chart" : { - "type" : "column" - }, - "xAxis" : { - "type" : "category" - }, - "subtitle" : { - "text" : "[Champions: 36] Last updated at 2020-08-23 18:38:42 GMT" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "title" : { - "text" : "Perl Weekly Challenge - 074" + "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/>" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 570619cde6..1638554260 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,28 +1,14 @@ { - "subtitle" : { - "text" : "Last updated at 2020-08-23 18:38:41 GMT" - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, - "legend" : { - "enabled" : "false" - }, "series" : [ { + "name" : "Contributions", "data" : [ [ "Blog", - 913 + 914 ], [ "Perl", @@ -30,34 +16,48 @@ ], [ "Raku", - 2015 + 2017 ] ], "dataLabels" : { - "enabled" : "true", - "align" : "right", + "format" : "{point.y:.0f}", "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" }, - "y" : 10, - "format" : "{point.y:.0f}", "color" : "#FFFFFF", + "y" : 10, + "align" : "right", + "enabled" : "true", "rotation" : -90 - }, - "name" : "Contributions" + } } ], + "legend" : { + "enabled" : "false" + }, "chart" : { "type" : "column" }, + "subtitle" : { + "text" : "Last updated at 2020-08-23 21:21:14 GMT" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, "xAxis" : { + "type" : "category", "labels" : { "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" } - }, - "type" : "category" + } } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 23f3249061..d8486cf2a5 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,8 +1,395 @@ { + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "series" : [ + { + "colorByPoint" : "true", + "data" : [ + { + "y" : 142, + "name" : "#001", + "drilldown" : "001" + }, + { + "y" : 109, + "name" : "#002", + "drilldown" : "002" + }, + { + "y" : 71, + "name" : "#003", + "drilldown" : "003" + }, + { + "y" : 91, + "name" : "#004", + "drilldown" : "004" + }, + { + "y" : 72, + "name" : "#005", + "drilldown" : "005" + }, |
