aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-08-10 12:13:27 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-08-10 12:13:27 +0100
commitdf778d1016d00d436ca2628460f39631b724028b (patch)
tree332920cd24455c41e98d9e977c43e06c55c06228
parent10e9dbddaadcbf7aec56e94c999187f55266a83e (diff)
downloadperlweeklychallenge-club-df778d1016d00d436ca2628460f39631b724028b.tar.gz
perlweeklychallenge-club-df778d1016d00d436ca2628460f39631b724028b.tar.bz2
perlweeklychallenge-club-df778d1016d00d436ca2628460f39631b724028b.zip
- Added Perl, Raku and Swift solutions to the Challenge #073.
-rwxr-xr-xchallenge-073/mohammad-anwar/perl/ch-1.pl50
-rwxr-xr-xchallenge-073/mohammad-anwar/perl/ch-1a.pl66
-rwxr-xr-xchallenge-073/mohammad-anwar/perl/ch-2.pl42
-rwxr-xr-xchallenge-073/mohammad-anwar/perl/ch-2a.pl51
-rwxr-xr-xchallenge-073/mohammad-anwar/raku/ch-1.raku40
-rwxr-xr-xchallenge-073/mohammad-anwar/raku/ch-1a.raku55
-rwxr-xr-xchallenge-073/mohammad-anwar/raku/ch-2.raku33
-rwxr-xr-xchallenge-073/mohammad-anwar/raku/ch-2a.raku42
-rwxr-xr-xchallenge-073/mohammad-anwar/swift/ch-1.swift101
-rwxr-xr-xchallenge-073/mohammad-anwar/swift/ch-2.swift89
-rw-r--r--stats/pwc-current.json201
-rw-r--r--stats/pwc-language-breakdown-summary.json50
-rw-r--r--stats/pwc-language-breakdown.json998
-rw-r--r--stats/pwc-leaders.json708
-rw-r--r--stats/pwc-summary-1-30.json34
-rw-r--r--stats/pwc-summary-121-150.json36
-rw-r--r--stats/pwc-summary-151-180.json114
-rw-r--r--stats/pwc-summary-31-60.json34
-rw-r--r--stats/pwc-summary-61-90.json106
-rw-r--r--stats/pwc-summary-91-120.json42
-rw-r--r--stats/pwc-summary.json50
21 files changed, 1765 insertions, 1177 deletions
diff --git a/challenge-073/mohammad-anwar/perl/ch-1.pl b/challenge-073/mohammad-anwar/perl/ch-1.pl
new file mode 100755
index 0000000000..c6fc852143
--- /dev/null
+++ b/challenge-073/mohammad-anwar/perl/ch-1.pl
@@ -0,0 +1,50 @@
+#!/usr/bin/perl
+
+#
+# Perl Weekly Challenge - 073
+#
+# Task #1: Min Sliding Window
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073
+#
+
+use strict;
+use warnings;
+use List::Util qw(min);
+
+my $A = $ARGV[0] || "1, 5, 0, 2, 9, 3, 7, 6, 4, 8";
+my $S = $ARGV[1] || 3;
+
+print "$A\n";
+print join ("\n", (join ', ', @{min_sliding_window($A, $S)}), "");
+
+#
+#
+# METHOD
+
+sub min_sliding_window {
+ my ($list, $size) = @_;
+
+ die "ERROR: Missing list.\n"
+ unless defined $list;
+ die "ERROR: Invalid list [$list].\n"
+ unless ($list =~ /^[\-?\d\,?\s?]+$/);
+
+ $list =~ s/\s//g;
+ $list = [ split /\,/, $list ];
+
+ die "ERROR: Missing size.\n"
+ unless defined $size;
+ die "ERROR: Invalid size [$size].\n"
+ unless (($size >= 2) && ($size - 1 <= $#$list));
+
+ my $index = 0;
+ my @min_sliding_window = ();
+ while ($index + $size - 1 <= $#$list) {
+ push @min_sliding_window,
+ min ( map { $list->[$_] } $index .. $index + $size - 1 );
+ $index++;
+ }
+
+ return \@min_sliding_window;
+}
diff --git a/challenge-073/mohammad-anwar/perl/ch-1a.pl b/challenge-073/mohammad-anwar/perl/ch-1a.pl
new file mode 100755
index 0000000000..b2f5d88934
--- /dev/null
+++ b/challenge-073/mohammad-anwar/perl/ch-1a.pl
@@ -0,0 +1,66 @@
+#!/usr/bin/perl
+
+#
+# Perl Weekly Challenge - 073
+#
+# Task #1: Min Sliding Window
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073
+#
+
+package MinSlidingWindow;
+
+use Moo;
+use List::Util qw(min);
+
+sub generate {
+ my ($self, $list, $size) = @_;
+
+ die "ERROR: Missing list.\n"
+ unless defined $list;
+ die "ERROR: Invalid list [$list].\n"
+ unless ($list =~ /^[\-?\d\,?\s?]+$/);
+
+ $list =~ s/\s//g;
+ $list = [ split /\,/, $list ];
+
+ die "ERROR: Missing size.\n"
+ unless defined $size;
+ die "ERROR: Invalid size [$size].\n"
+ unless (($size >= 2) && ($size - 1 <= $#$list));
+
+ my $index = 0;
+ my @min_sliding_window = ();
+ while ($index + $size - 1 <= $#$list) {
+ push @min_sliding_window,
+ min ( map { $list->[$_] } $index .. $index + $size - 1 );
+ $index++;
+ }
+
+ return \@min_sliding_window;
+}
+
+package main;
+
+use Test2::V0 -target => 'MinSlidingWindow';
+
+my $list = "1, 5, 0, 2, 9, 3, 7, 6, 4, 8";
+my %test_cases = (
+ 2 => "1, 0, 0, 2, 3, 3, 6, 4, 4",
+ 3 => "0, 0, 0, 2, 3, 3, 4, 4",
+ 4 => "0, 0, 0, 2, 3, 3, 4",
+ 5 => "0, 0, 0, 2, 3, 3",
+ 6 => "0, 0, 0, 2, 3",
+ 7 => "0, 0, 0, 2",
+ 8 => "0, 0, 0",
+ 9 => "0, 0",
+ 10 => "0",
+);
+
+warn "List = $list\n";
+foreach my $size (sort { $a <=> $b } keys %test_cases) {
+ my $min = join ", ", @{$CLASS->generate($list, $size)};
+ is $min, $test_cases{$size}, "testing window size $size";
+}
+
+done_testing;
diff --git a/challenge-073/mohammad-anwar/perl/ch-2.pl b/challenge-073/mohammad-anwar/perl/ch-2.pl
new file mode 100755
index 0000000000..c46959feef
--- /dev/null
+++ b/challenge-073/mohammad-anwar/perl/ch-2.pl
@@ -0,0 +1,42 @@
+#!/usr/bin/perl
+
+#
+# Perl Weekly Challenge - 073
+#
+# Task #2: Smallest Neighbour
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073
+#
+
+use strict;
+use warnings;
+use List::Util qw(min);
+
+my $A = $ARGV[0] || "7, 8, 3, 12, 10";
+
+print "$A\n";
+print join("\n", (join ', ', @{smallest_neighbour($A)}), "");
+
+#
+#
+# METHOD
+
+sub smallest_neighbour {
+ my ($list) = @_;
+
+ die "ERROR: Missing list.\n"
+ unless defined $list;
+ die "ERROR: Invalid list [$list].\n"
+ unless ($list =~ /^[\s?\-?\d\,?\s?]+$/);
+
+ $list =~ s/\s//g;
+ $list = [ split /\,/, $list ];
+
+ my @smallest_neighbour = (0);
+ foreach my $i (1 .. $#$list) {
+ my $min = min( map { $list->[$_] } 0..$i-1 );
+ push @smallest_neighbour, ($min < $list->[$i])?($min):(0);
+ }
+
+ return \@smallest_neighbour;
+}
diff --git a/challenge-073/mohammad-anwar/perl/ch-2a.pl b/challenge-073/mohammad-anwar/perl/ch-2a.pl
new file mode 100755
index 0000000000..1095888127
--- /dev/null
+++ b/challenge-073/mohammad-anwar/perl/ch-2a.pl
@@ -0,0 +1,51 @@
+#!/usr/bin/perl
+
+#
+# Perl Weekly Challenge - 073
+#
+# Task #2: Smallest Neighbour
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073
+#
+
+package SmallestNeighbour;
+
+use Moo;
+use List::Util qw(min);
+
+sub fetch {
+ my ($self, $list) = @_;
+
+ die "ERROR: Missing list.\n"
+ unless defined $list;
+ die "ERROR: Invalid list [$list].\n"
+ unless ($list =~ /^[\s?\-?\d\,?\s?]+$/);
+
+ $list =~ s/\s//g;
+ $list = [ split /\,/, $list ];
+
+ my @smallest_neighbour = (0);
+ foreach my $i (1 .. $#$list) {
+ my $min = min( map { $list->[$_] } 0..$i-1 );
+ push @smallest_neighbour, ($min < $list->[$i])?($min):(0);
+ }
+
+ return \@smallest_neighbour;
+}
+
+package main;
+
+use Test2::V0 -target => 'SmallestNeighbour';
+
+my %test_cases = (
+ "7, 8, 3, 12, 10" => "0, 7, 0, 3, 3",
+ "0, 1, 5, 2, 3" => "0, 0, 0, 0, 0",
+ "1, -2, 7, 5, -4" => "0, 0, -2, -2, 0",
+);
+
+foreach my $list (sort keys %test_cases) {
+ my $min = join ", ", @{$CLASS->fetch($list)};
+ is $min, $test_cases{$list}, "testing list $list";
+}
+
+done_testing;
diff --git a/challenge-073/mohammad-anwar/raku/ch-1.raku b/challenge-073/mohammad-anwar/raku/ch-1.raku
new file mode 100755
index 0000000000..dbcdfa49ab
--- /dev/null
+++ b/challenge-073/mohammad-anwar/raku/ch-1.raku
@@ -0,0 +1,40 @@
+#!/usr/bin/env raku
+
+#
+# Perl Weekly Challenge - 073
+#
+# Task #1: Min Sliding Window
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073
+#
+
+use v6.d;
+
+sub MAIN(Str :$A = "1, 5, 0, 2, 9, 3, 7, 6, 4, 8",
+ Int :$S = 3) {
+ min-sliding-window($A, $S).join(", ").say;
+}
+
+sub min-sliding-window(Str $list is copy, Int $size) {
+
+ die "ERROR: Invalid list [$list].\n"
+ unless $list ~~ /^[\-?\d\,?\s?]+$/;
+
+ say $list;
+ $list ~~ s:g/\s//;
+ my $l = [ $list.split(',') ];
+
+ die "ERROR: Invalid size [$size].\n"
+ unless $size >= 2 && $size - 1 <= $l.elems;
+
+ my $index = 0;
+ my @min-sliding-window = Empty;
+
+ while $index + $size - 1 < $l.elems {
+ my $window = $l.[$index .. $index + $size - 1].map: { .Int };
+ @min-sliding-window.push: min($window);
+ $index++;
+ }
+
+ return @min-sliding-window;
+}
diff --git a/challenge-073/mohammad-anwar/raku/ch-1a.raku b/challenge-073/mohammad-anwar/raku/ch-1a.raku
new file mode 100755
index 0000000000..7f513cef58
--- /dev/null
+++ b/challenge-073/mohammad-anwar/raku/ch-1a.raku
@@ -0,0 +1,55 @@
+#!/usr/bin/env raku
+
+#
+# Perl Weekly Challenge - 073
+#
+# Task #1: Min Sliding Window
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073
+#
+
+use Test;
+
+my $list = "1, 5, 0, 2, 9, 3, 7, 6, 4, 8";
+my %test-cases = (
+ 2 => "1, 0, 0, 2, 3, 3, 6, 4, 4",
+ 3 => "0, 0, 0, 2, 3, 3, 4, 4",
+ 4 => "0, 0, 0, 2, 3, 3, 4",
+ 5 => "0, 0, 0, 2, 3, 3",
+ 6 => "0, 0, 0, 2, 3",
+ 7 => "0, 0, 0, 2",
+ 8 => "0, 0, 0",
+ 9 => "0, 0",
+ 10 => "0",
+);
+
+for %test-cases.keys.sort({ $^a <=> $^b }) -> $size {
+ is min-sliding-window($list, $size.Int).join(", "),
+ %test-cases{$size},
+ "testing size $size";
+}
+
+done-testing;
+
+sub min-sliding-window(Str $list is copy, Int $size) {
+
+ die "ERROR: Invalid list [$list].\n"
+ unless $list ~~ /^[\-?\d\,?\s?]+$/;
+
+ $list ~~ s:g/\s//;
+ my $l = [ $list.split(',') ];
+
+ die "ERROR: Invalid size [$size].\n"
+ unless $size >= 2 && $size - 1 <= $l.elems;
+
+ my $index = 0;
+ my @min-sliding-window = Empty;
+
+ while $index + $size - 1 < $l.elems {
+ my $window = $l.[$index .. $index + $size - 1].map: { .Int };
+ @min-sliding-window.push: min($window);
+ $index++;
+ }
+
+ return @min-sliding-window;
+}
diff --git a/challenge-073/mohammad-anwar/raku/ch-2.raku b/challenge-073/mohammad-anwar/raku/ch-2.raku
new file mode 100755
index 0000000000..ba99810962
--- /dev/null
+++ b/challenge-073/mohammad-anwar/raku/ch-2.raku
@@ -0,0 +1,33 @@
+#!/usr/bin/env raku
+
+#
+# Perl Weekly Challenge - 073
+#
+# Task #2: Smallest Neighbour
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073
+#
+
+use v6.d;
+
+sub MAIN(Str $list = "7, 8, 3, 12, 10") {
+ say $list;
+ smallest-neighbour($list).join(', ').say;
+}
+
+sub smallest-neighbour(Str $list is copy) {
+
+ die "ERROR: Invalid list [$list].\n"
+ unless $list ~~ /^[\s?\-?\d\,?\s?]+$/;
+
+ $list ~~ s:g/\s//;
+ my $l = [ $list.split(',') ];
+
+ my @smallest_neighbour = 0;
+ for 1 .. $l.elems - 1 -> $i {
+ my $min = min( $l.[0 .. $i - 1].map: { .Int } );
+ @smallest_neighbour.push: ($min < $l.[$i]) ?? ($min) !! (0);
+ }
+
+ return @smallest_neighbour;
+}
diff --git a/challenge-073/mohammad-anwar/raku/ch-2a.raku b/challenge-073/mohammad-anwar/raku/ch-2a.raku
new file mode 100755
index 0000000000..99ee421ae5
--- /dev/null
+++ b/challenge-073/mohammad-anwar/raku/ch-2a.raku
@@ -0,0 +1,42 @@
+#!/usr/bin/env raku
+
+#
+# Perl Weekly Challenge - 073
+#
+# Task #2: Smallest Neighbour
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-073
+#
+
+use Test;
+
+my %test-cases = (
+ "7, 8, 3, 12, 10" => "0, 7, 0, 3, 3",
+ "0, 1, 5, 2, 3" => "0, 0, 0, 0, 0",
+ "1, -2, 7, 5, -4" => "0, 0, -2, -2, 0",
+);
+
+for %test-cases.keys.sort -> $list {
+ is smallest-neighbour($list).join(', '),
+ %test-cases{$list},
+ "testing list $list";
+}
+
+done-testing;
+
+sub smallest-neighbour(Str $list is copy) {
+
+ die "ERROR: Invalid list [$list].\n"
+ unless $list ~~ /^[\s?\-?\d\,?\s?]+$/;
+
+ $list ~~ s:g/\s//;
+ my $l = [ $list.split(',') ];
+
+ my @smallest_neighbour = 0;
+ for 1 .. $l.elems - 1 -> $i {
+ my $min = min( $l.[0 .. $i - 1].map: { .Int } );
+ @smallest_neighbour.push: ($min < $l.[$i]) ?? ($min) !! (0);
+ }
+
+ return @smallest_neighbour;
+}
diff --git a/challenge-073/mohammad-anwar/swift/ch-1.swift b/challenge-073/mohammad-anwar/swift/ch-1.swift
new file mode 100755
index 0000000000..0022d6bd63
--- /dev/null
+++ b/challenge-073/mohammad-anwar/swift/ch-1.swift
@@ -0,0 +1,101 @@
+import Foundation
+
+/*
+
+Perl Weekly Challenge - 073
+
+Task #1: Min Sliding Window
+
+https://perlweeklychallenge.org/blog/perl-weekly-challenge-073
+
+*/
+
+enum ParamError: Error {
+ case missingList
+ case missingSize
+ case invalidList
+ case invalidSize
+}
+
+do {
+ let paramCount:Int = Int(CommandLine.argc)
+
+ if paramCount <= 1 {
+ throw ParamError.missingList
+ }
+
+ if paramCount <= 2 {
+ throw ParamError.missingSize
+ }
+
+ let list:String = CommandLine.arguments[1]
+ let size:Int = Int(CommandLine.arguments[2])!
+
+ if isValidList(list) {
+ let array = list.components(separatedBy: ", ")
+
+ if size >= 2 && size <= array.count {
+ var index:Int = 0;
+ var minSlidingWindow = [Int]();
+ while index + size - 1 < array.count {
+ let start:Int = index
+ let stop:Int = index + size - 1
+ let min:Int? = findMin(array, start, stop)
+ minSlidingWindow.append(min!)
+ index += 1
+ }
+
+ print(array)
+ print(minSlidingWindow)
+ }
+ else {
+ throw ParamError.invalidSize
+ }
+ }
+ else {
+ throw ParamError.invalidList
+ }
+}
+catch ParamError.missingList {
+ print("Missing list.")
+}
+catch ParamError.missingSize {
+ print("Missing size.")
+}
+catch ParamError.invalidList {
+ print("Invalid list.")
+}
+catch ParamError.invalidSize {
+ print("Invalid size.")
+}
+catch let error {
+ print(error)
+}
+
+//
+//
+// Functions
+
+func isValidList(_ list:String) -> Bool {
+
+ let pattern = "^[\\-?\\d\\,?\\s?]+$"
+ let regex = try! NSRegularExpression(pattern: pattern)
+ let range = NSRange(location: 0, length: list.utf16.count)
+
+ if regex.firstMatch(in: list, options: [], range: range) != nil {
+ return true
+ }
+ else {
+ return false
+ }
+}
+
+func findMin(_ array: [String], _ start:Int, _ stop:Int) -> Int {
+
+ var window = [Int]()
+ for i in start...stop {
+ window.append(Int(array[i])!)
+ }
+
+ return window.min()!
+}
diff --git a/challenge-073/mohammad-anwar/swift/ch-2.swift b/challenge-073/mohammad-anwar/swift/ch-2.swift
new file mode 100755
index 0000000000..b9394e01f6
--- /dev/null
+++ b/challenge-073/mohammad-anwar/swift/ch-2.swift
@@ -0,0 +1,89 @@
+import Foundation
+
+/*
+
+Perl Weekly Challenge - 073
+
+Task #2: Smallest Neighbour
+
+https://perlweeklychallenge.org/blog/perl-weekly-challenge-073
+
+*/
+
+enum ParamError: Error {
+ case missingList
+ case invalidList
+}
+
+do {
+ let paramCount:Int = Int(CommandLine.argc)
+
+ if paramCount <= 1 {
+ throw ParamError.missingList
+ }
+
+ var list:String = CommandLine.arguments[1]
+
+ if isValidList(list) {
+ list = list.replacingOccurrences(of: " ", with: "", options: .literal, range: nil)
+ let array = list.components(separatedBy: ",")
+
+ var smallestNeighbour = [Int]()
+ smallestNeighbour.append(0)
+
+ for i in 1..<array.count {
+ let limit:Int = i - 1
+ let min:Int? = findMin(array, limit, Int(array[i])!)
+ smallestNeighbour.append(min!)
+ }
+
+ print(array)
+ print(smallestNeighbour)
+ }
+ else {
+ throw ParamError.invalidList
+ }
+}
+catch ParamError.missingList {
+ print("Missing list.")
+}
+catch ParamError.invalidList {
+ print("Invalid list.")
+}
+catch let error {
+ print(error)
+}
+
+//
+//
+// Functions
+
+func isValidList(_ list:String) -> Bool {
+
+ let pattern = "^[\\s?\\-?\\d\\,?\\s?]+$"
+ let regex = try! NSRegularExpression(pattern: pattern)
+ let range = NSRange(location: 0, length: list.utf16.count)
+
+ if regex.firstMatch(in: list, options: [], range: range) != nil {
+ return true
+ }
+ else {
+ return false
+ }
+}
+
+func findMin(_ array: [String], _ limit:Int, _ current:Int) -> Int {
+
+ var window = [Int]()
+ for i in 0...limit {
+ window.append(Int(array[i])!)
+ }
+
+ let min:Int = window.min()!
+ if min < current {
+ return min
+ }
+ else {
+ return 0
+ }
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 11d75d65b8..6b8a017099 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,9 +1,90 @@
{
+ "legend" : {
+ "enabled" : 0
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 073"
+ },
+ "series" : [
+ {
+ "name" : "Perl Weekly Challenge - 073",
+ "colorByPoint" : 1,
+ "data" : [
+ {
+ "drilldown" : "Andrew Shitov",
+ "name" : "Andrew Shitov",
+ "y" : 3
+ },
+ {
+ "y" : 2,
+ "name" : "Dave Jacoby",
+ "drilldown" : "Dave Jacoby"
+ },
+ {
+ "y" : 2,
+ "name" : "Mark Anderson",
+ "drilldown" : "Mark Anderson"
+ },
+ {
+ "drilldown" : "Markus Holzer",
+ "name" : "Markus Holzer",
+ "y" : 2
+ },
+ {
+ "y" : 4,
+ "name" : "Mohammad S Anwar",
+ "drilldown" : "Mohammad S Anwar"
+ },
+ {
+ "name" : "Roger Bell_West",
+ "y" : 4,
+ "drilldown" : "Roger Bell_West"
+ },
+ {
+ "drilldown" : "Shawn Wagner",
+ "name" : "Shawn Wagner",
+ "y" : 2
+ },
+ {
+ "y" : 2,
+ "name" : "Simon Proctor",
+ "drilldown" : "Simon Proctor"
+ }
+ ]
+ }
+ ],
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "subtitle" : {
+ "text" : "[Champions: 8] Last updated at 2020-08-10 11:13:09 GMT"
+ },
+ "xAxis" : {
+ "type" : "category"
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ },
+ "borderWidth" : 0
+ }
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "tooltip" : {
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
+ "followPointer" : 1,
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>"
+ },
"drilldown" : {
"series" : [
{
"name" : "Andrew Shitov",
- "id" : "Andrew Shitov",
"data" : [
[
"Raku",
@@ -13,40 +94,41 @@
"Blog",
1
]
- ]
+ ],
+ "id" : "Andrew Shitov"
},
{
- "name" : "Dave Jacoby",
"data" : [
[
"Perl",
2
]
],
- "id" : "Dave Jacoby"
+ "id" : "Dave Jacoby",
+ "name" : "Dave Jacoby"
},
{
"name" : "Mark Anderson",
+ "id" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
- ],
- "id" : "Mark Anderson"
+ ]
},
{
- "name" : "Markus Holzer",
"id" : "Markus Holzer",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "name" : "Markus Holzer"
},
{
- "id" : "Roger Bell_West",
+ "id" : "Mohammad S Anwar",
"data" : [
[
"Perl",
@@ -57,105 +139,42 @@
2
]
],
- "name" : "Roger Bell_West"
+ "name" : "Mohammad S Anwar"
},
{
+ "name" : "Roger Bell_West",
+ "id" : "Roger Bell_West",
"data" : [
[
"Perl",
2
+ ],
+ [
+ "Raku",
+ 2
]
- ],
+ ]
+ },
+ {
+ "name" : "Shawn Wagner",
"id" : "Shawn Wagner",
- "name" : "Shawn Wagner"
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ]
},
{
- "id" : "Simon Proctor",
"data" : [
[
"Raku",
2
]
],
+ "id" : "Simon Proctor",
"name" : "Simon Proctor"
}
]
- },
- "legend" : {
- "enabled" : 0
- },
- "chart" : {
- "type" : "column"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- }
- }
- },
- "subtitle" : {
- "text" : "[Champions: 7] Last updated at 2020-08-10 10:59:58 GMT"
- },
- "xAxis" : {
- "type" : "category"
- },
- "title" : {
- "text" : "Perl Weekly Challenge - 073"
- },
- "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" : [
- {
- "name" : "Perl Weekly Challenge - 073",
- "colorByPoint" : 1,
- "data" : [
- {
- "name" : "Andrew Shitov",
- "y" : 3,
- "drilldown" : "Andrew Shitov"
- },
- {
- "name" : "Dave Jacoby",
- "y" : 2,
- "drilldown" : "Dave Jacoby"
- },
- {
- "drilldown" : "Mark Anderson",
- "y" : 2,
- "name" : "Mark Anderson"
- },
- {
- "drilldown" : "Markus Holzer",
- "y" : 2,
- "name" : "Markus Holzer"
- },
- {
- "drilldown" : "Roger Bell_West",
- "y" : 4,
- "name" : "Roger Bell_West"
- },
- {
- "drilldown" : "Shawn Wagner",
- "name" : "Shawn Wagner",
- "y" : 2
- },
- {
- "drilldown" : "Simon Proctor",
- "y" : 2,
- "name" : "Simon Proctor"
- }
- ]
- }
- ]
+ }
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index ef8271b1e6..77272336e5 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,4 +1,7 @@
{
+ "legend" : {
+ "enabled" : "false"
+ },
"series" : [
{
"data" : [
@@ -8,56 +11,53 @@
],
[
"Perl",
- 2995
+ 2997
],
[
"Raku",
- 1951
+ 1953
]
],
"dataLabels" : {
+ "color" : "#FFFFFF",
"align" : "right",
+ "format" : "{point.y:.0f}",
"y" : 10,
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- },
"rotation" : -90,
"enabled" : "true",
- "format" : "{point.y:.0f}",
- "color" : "#FFFFFF"
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ }
},
"name" : "Contributions"
}
],
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
- "title" : {
- "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
- },
- "subtitle" : {
- "text" : "Last updated at 2020-08-10 10:59:58 GMT"
+ "yAxis" : {
+ "title" : {
+ "text" : null
+ },
+ "min" : 0
},
"xAxis" : {
- "type" : "category",
"labels" : {
"style" : {
"fontSize" : "13px",
"fontFamily" : "Verdana, sans-serif"
}
- }
+ },
+ "type" : "category"
},
- "yAxis" : {
- "min" : 0,
- "title" : {
- "text" : null
- }
+ "subtitle" : {
+ "text" : "Last updated at 2020-08-10 11:13:09 GMT"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
},
"chart" : {
"type" : "column"
},
- "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 8157ee5e15..df5e4822b5 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,405 +1,7 @@
{
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- }
- }
- },
- "xAxis" : {
- "type" : "category"
- },
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-08-10 10:59:58 GMT"
- },
- "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"
- },
- "series" : [
- {
- "data" : [
- {
- "drilldown" : "001",
- "y" : 142,
- "name" : "#001"
- },
- {
- "name" : "#002",
- "y" : 109,
- "drilldown" : "002"
- },
- {
- "y" : 71,
-