aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-226/eric-cheung/python/ch-1.py12
-rwxr-xr-xchallenge-226/eric-cheung/python/ch-2.py15
-rw-r--r--challenge-226/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-226/laurent-rosenfeld/perl/ch-1.pl19
-rw-r--r--challenge-226/laurent-rosenfeld/raku/ch-1.raku12
-rwxr-xr-xchallenge-226/packy-anderson/perl/ch-1.pl (renamed from challenge-226/packy-anderson/perl/task-1.pl)0
-rwxr-xr-xchallenge-226/packy-anderson/perl/ch-2.pl (renamed from challenge-226/packy-anderson/perl/task-2.pl)0
-rwxr-xr-xchallenge-226/packy-anderson/raku/ch-1.raku (renamed from challenge-226/packy-anderson/raku/task-1.raku)0
-rwxr-xr-xchallenge-226/packy-anderson/raku/ch-2.raku (renamed from challenge-226/packy-anderson/raku/task-2.raku)0
-rwxr-xr-xchallenge-226/perlboy1967/perl/ch-1.pl (renamed from challenge-226/perlboy1967/perl/ch1.pl)0
-rwxr-xr-xchallenge-226/perlboy1967/perl/ch-2.pl (renamed from challenge-226/perlboy1967/perl/ch2.pl)0
-rw-r--r--challenge-226/robert-dicicco/perl/ch-1.pl50
-rw-r--r--challenge-226/robert-dicicco/raku/ch-1.raku48
-rw-r--r--challenge-226/robert-dicicco/ruby/ch-1.rb49
-rw-r--r--challenge-226/steven-wilson/perl/ch-1.pl (renamed from challenge-226/steven-wilson/perl/ch-01.pl)0
-rwxr-xr-xchallenge-226/ulrich-rieke/haskell/ch-1.hs15
-rwxr-xr-xchallenge-226/ulrich-rieke/haskell/ch-2.hs20
-rwxr-xr-xchallenge-226/ulrich-rieke/perl/ch-1.pl20
-rwxr-xr-xchallenge-226/ulrich-rieke/perl/ch-2.pl27
-rwxr-xr-xchallenge-226/ulrich-rieke/raku/ch-1.raku14
-rwxr-xr-xchallenge-226/ulrich-rieke/raku/ch-2.raku20
-rwxr-xr-xchallenge-226/ulrich-rieke/rust/ch-1.rs25
-rwxr-xr-xchallenge-226/ulrich-rieke/rust/ch-2.rs23
-rw-r--r--members.json1
-rw-r--r--stats/pwc-challenge-225.json695
-rw-r--r--stats/pwc-current.json564
-rw-r--r--stats/pwc-language-breakdown-summary.json80
-rw-r--r--stats/pwc-language-breakdown.json2989
-rw-r--r--stats/pwc-leaders.json472
-rw-r--r--stats/pwc-summary-1-30.json130
-rw-r--r--stats/pwc-summary-121-150.json108
-rw-r--r--stats/pwc-summary-151-180.json110
-rw-r--r--stats/pwc-summary-181-210.json116
-rw-r--r--stats/pwc-summary-211-240.json118
-rw-r--r--stats/pwc-summary-241-270.json48
-rw-r--r--stats/pwc-summary-271-300.json82
-rw-r--r--stats/pwc-summary-31-60.json102
-rw-r--r--stats/pwc-summary-61-90.json114
-rw-r--r--stats/pwc-summary-91-120.json40
-rw-r--r--stats/pwc-summary.json670
40 files changed, 3747 insertions, 3062 deletions
diff --git a/challenge-226/eric-cheung/python/ch-1.py b/challenge-226/eric-cheung/python/ch-1.py
new file mode 100755
index 0000000000..bd083aa7f7
--- /dev/null
+++ b/challenge-226/eric-cheung/python/ch-1.py
@@ -0,0 +1,12 @@
+
+## Example 1
+## strInput = "lacelengh"
+## arrIndices = [3, 2, 0, 5, 4, 8, 6, 7, 1]
+
+## Example 2
+strInput = "rulepark"
+arrIndices = [4, 7, 3, 1, 0, 5, 2, 6]
+
+strOutput = "".join([strInput[arrIndices.index(nLoop)] for nLoop in range(len(strInput))])
+
+print (strOutput)
diff --git a/challenge-226/eric-cheung/python/ch-2.py b/challenge-226/eric-cheung/python/ch-2.py
new file mode 100755
index 0000000000..2550e435d0
--- /dev/null
+++ b/challenge-226/eric-cheung/python/ch-2.py
@@ -0,0 +1,15 @@
+
+import numpy as np
+
+## arrInput = np.array([1, 5, 0, 3, 5]) ## Example 1
+## arrInput = np.array([0]) ## Example 2
+arrInput = np.array([2, 1, 4, 0, 3]) ## Example 3
+
+nCount = 0
+
+while np.count_nonzero(arrInput) > 0:
+ nSubstract = min([nLoop for nLoop in arrInput if nLoop > 0])
+ arrInput = [nLoop - nSubstract if nLoop > 0 else 0 for nLoop in arrInput]
+ nCount = nCount + 1
+
+print (nCount)
diff --git a/challenge-226/laurent-rosenfeld/blog.txt b/challenge-226/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..10004c21cc
--- /dev/null
+++ b/challenge-226/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+https://blogs.perl.org/users/laurent_r/2023/07/perl-weekly-challenge-226-shuffle-string.html
diff --git a/challenge-226/laurent-rosenfeld/perl/ch-1.pl b/challenge-226/laurent-rosenfeld/perl/ch-1.pl
new file mode 100644
index 0000000000..7ead27d4c1
--- /dev/null
+++ b/challenge-226/laurent-rosenfeld/perl/ch-1.pl
@@ -0,0 +1,19 @@
+use strict;
+use warnings;
+use feature 'say';
+
+sub shuffle_string {
+ my ($string, $idx_ref) = @_;
+ my @indices = @$idx_ref;
+ my @index;
+ @index[$indices[$_]]= $_ for 0..$#indices;
+ return join "", (split //, $string)[@index];
+}
+
+for my $test (['lacelengh', [3,2,0,5,4,8,6,7,1]],
+ ['rulepark', [4,7,3,1,0,5,2,6]]) {
+ printf "%-10s - %-18s => ",
+ $test->[0], "@{$test->[1]}";
+ say shuffle_string $test->[0], $test->[1];
+
+}
diff --git a/challenge-226/laurent-rosenfeld/raku/ch-1.raku b/challenge-226/laurent-rosenfeld/raku/ch-1.raku
new file mode 100644
index 0000000000..e2b98d7373
--- /dev/null
+++ b/challenge-226/laurent-rosenfeld/raku/ch-1.raku
@@ -0,0 +1,12 @@
+sub shuffle-string ($string, @indice) {
+ my @index;
+ @index[@indice[$_]]= $_ for 0..@indice.end;
+ # say @index;
+ return ($string.comb)[@index].join("");
+}
+
+for ('lacelengh', (3,2,0,5,4,8,6,7,1)),
+ ('rulepark', (4,7,3,1,0,5,2,6)) -> @test {
+ printf "%-10s - %-20s => ", @test[0], "@test[1]";
+ say shuffle-string @test[0], @test[1];
+}
diff --git a/challenge-226/packy-anderson/perl/task-1.pl b/challenge-226/packy-anderson/perl/ch-1.pl
index 789323434c..789323434c 100755
--- a/challenge-226/packy-anderson/perl/task-1.pl
+++ b/challenge-226/packy-anderson/perl/ch-1.pl
diff --git a/challenge-226/packy-anderson/perl/task-2.pl b/challenge-226/packy-anderson/perl/ch-2.pl
index 87271cf504..87271cf504 100755
--- a/challenge-226/packy-anderson/perl/task-2.pl
+++ b/challenge-226/packy-anderson/perl/ch-2.pl
diff --git a/challenge-226/packy-anderson/raku/task-1.raku b/challenge-226/packy-anderson/raku/ch-1.raku
index 8835f8a582..8835f8a582 100755
--- a/challenge-226/packy-anderson/raku/task-1.raku
+++ b/challenge-226/packy-anderson/raku/ch-1.raku
diff --git a/challenge-226/packy-anderson/raku/task-2.raku b/challenge-226/packy-anderson/raku/ch-2.raku
index 1065c220c0..1065c220c0 100755
--- a/challenge-226/packy-anderson/raku/task-2.raku
+++ b/challenge-226/packy-anderson/raku/ch-2.raku
diff --git a/challenge-226/perlboy1967/perl/ch1.pl b/challenge-226/perlboy1967/perl/ch-1.pl
index 101492ab79..101492ab79 100755
--- a/challenge-226/perlboy1967/perl/ch1.pl
+++ b/challenge-226/perlboy1967/perl/ch-1.pl
diff --git a/challenge-226/perlboy1967/perl/ch2.pl b/challenge-226/perlboy1967/perl/ch-2.pl
index d3d39dd8fb..d3d39dd8fb 100755
--- a/challenge-226/perlboy1967/perl/ch2.pl
+++ b/challenge-226/perlboy1967/perl/ch-2.pl
diff --git a/challenge-226/robert-dicicco/perl/ch-1.pl b/challenge-226/robert-dicicco/perl/ch-1.pl
new file mode 100644
index 0000000000..0a315b4df8
--- /dev/null
+++ b/challenge-226/robert-dicicco/perl/ch-1.pl
@@ -0,0 +1,50 @@
+#!/usr/bin/env perl
+=begin comment
+--------------------------------------
+AUTHOR: Robert DiCicco
+DATE : 2023-07-17
+Challenge 226 Task 1 Shuffle String ( Perl )
+--------------------------------------
+=cut
+use strict;
+use warnings;
+
+my @strings = ('lacelengh', 'rulepark');
+my @indices = ([3,2,0,5,4,8,6,7,1],[4,7,3,1,0,5,2,6]);
+
+my $offset = 0;
+
+my %letters = ();
+my $letter;
+
+for my $str ( @strings) {
+ my $ndx = $indices[$offset];
+ print("Input: \$string = $str, \@indices = (@$ndx)\n");
+ my $cnt = 0;
+ while ($cnt < length($str)) {
+ $letter = substr($str,$cnt,1);
+ $letters{$ndx->[$cnt++]} = $letter;
+ }
+ $cnt = 0;
+ print("Output: ");
+ while ($cnt < length($str)) {
+ print($letters{$cnt++});
+ }
+ print("\n\n");
+ $offset == scalar @indices ? exit : $offset++;
+}
+
+=begin comment
+--------------------------------------
+SAMPLE OUTPUT
+perl ShuffleString.pl
+
+Input: $string = lacelengh, @indices = (3 2 0 5 4 8 6 7 1)
+Output: challenge
+
+Input: $string = rulepark, @indices = (4 7 3 1 0 5 2 6)
+Output: perlraku
+--------------------------------------
+=cut
+
+
diff --git a/challenge-226/robert-dicicco/raku/ch-1.raku b/challenge-226/robert-dicicco/raku/ch-1.raku
new file mode 100644
index 0000000000..4ef2b38d2f
--- /dev/null
+++ b/challenge-226/robert-dicicco/raku/ch-1.raku
@@ -0,0 +1,48 @@
+#!/usr/bin/env raku
+=begin comment
+--------------------------------------
+AUTHOR: Robert DiCicco
+DATE : 2023-07-17
+Challenge 226 Task 1 Shuffle String ( Raku )
+--------------------------------------
+=end comment
+use v6;
+
+my @strings = ('lacelengh', 'rulepark');
+my @indices = ([3,2,0,5,4,8,6,7,1],[4,7,3,1,0,5,2,6]);
+
+my $offset = 0;
+my %letters = ();
+my $letter;
+
+for ( @strings) -> $str {
+ my $ndx = @indices[$offset];
+ print("Input: \$string = $str, \@indices = ($ndx)\n");
+ my $cnt = 0;
+ while $cnt < $str.chars {
+ $letter = substr($str,$cnt,1);
+ %letters{$ndx[$cnt++]} = $letter;
+ }
+ $cnt = 0;
+ print("Output: ");
+ while $cnt < $str.chars {
+ print(%letters{$cnt++});
+ }
+ print("\n\n");
+ ($offset == @indices.elems) ?? (exit) !! ($offset++);
+}
+
+=begin comment
+--------------------------------------
+SAMPLE OUTPUT
+raku ShuffleString.rk
+
+Input: $string = lacelengh, @indices = (3 2 0 5 4 8 6 7 1)
+Output: challenge
+
+Input: $string = rulepark, @indices = (4 7 3 1 0 5 2 6)
+Output: perlraku
+--------------------------------------
+=end comment
+
+
diff --git a/challenge-226/robert-dicicco/ruby/ch-1.rb b/challenge-226/robert-dicicco/ruby/ch-1.rb
new file mode 100644
index 0000000000..e2d2c01a98
--- /dev/null
+++ b/challenge-226/robert-dicicco/ruby/ch-1.rb
@@ -0,0 +1,49 @@
+=begin
+--------------------------------------
+AUTHOR: Robert DiCicco
+DATE : 2023-07-17
+Challenge 226 Task 1 Shuffle String ( Ruby )
+--------------------------------------
+=end
+strings = ["lacelengh", "rulepark"]
+indices = [[3,2,0,5,4,8,6,7,1],[4,7,3,1,0,5,2,6]]
+
+offset = 0
+cnt = 0
+
+strings.each do |str|
+ ndx = indices[offset]
+ puts("Input: \$string = #{str}, \@indices = #{ndx}\n");
+ cnt = 0
+ ln = str.length()
+ letters = Hash.new
+ while cnt < ln
+ letter = str[cnt,1];
+ x = ndx[cnt]
+ letters[x] = letter
+ cnt += 1
+ end
+ cnt = 0
+ print("Output: ");
+ while cnt < ln
+ print(letters[cnt])
+ cnt += 1
+ end
+ print("\n\n")
+ offset += 1
+end
+
+=begin
+--------------------------------------
+SAMPLE OUTPUT
+ruby ShuffleString.rb
+
+Input: $string = lacelengh, @indices = [3, 2, 0, 5, 4, 8, 6, 7, 1]
+Output: challenge
+
+Input: $string = rulepark, @indices = [4, 7, 3, 1, 0, 5, 2, 6]
+Output: perlraku
+--------------------------------------
+=end
+
+
diff --git a/challenge-226/steven-wilson/perl/ch-01.pl b/challenge-226/steven-wilson/perl/ch-1.pl
index 3abd2b581b..3abd2b581b 100644
--- a/challenge-226/steven-wilson/perl/ch-01.pl
+++ b/challenge-226/steven-wilson/perl/ch-1.pl
diff --git a/challenge-226/ulrich-rieke/haskell/ch-1.hs b/challenge-226/ulrich-rieke/haskell/ch-1.hs
new file mode 100755
index 0000000000..04a47d951a
--- /dev/null
+++ b/challenge-226/ulrich-rieke/haskell/ch-1.hs
@@ -0,0 +1,15 @@
+module Challenge226
+ where
+import Data.List ( sortOn )
+
+solution :: String -> [Int] -> String
+solution str numbers = map snd $ sortOn fst $ zip numbers str
+
+main :: IO ( )
+main = do
+ putStrLn "Enter a string!"
+ str <- getLine
+ putStrLn "Enter some indices into the string, separated by blanks!"
+ numberstrings <- getLine
+ let numbers = map read $ words numberstrings
+ print $ solution str numbers
diff --git a/challenge-226/ulrich-rieke/haskell/ch-2.hs b/challenge-226/ulrich-rieke/haskell/ch-2.hs
new file mode 100755
index 0000000000..d2f9e1f217
--- /dev/null
+++ b/challenge-226/ulrich-rieke/haskell/ch-2.hs
@@ -0,0 +1,20 @@
+module Challenge226_2
+ where
+
+mySubtr :: Int -> Int -> Int
+mySubtr a b = if a - b < 0 then 0 else a - b
+
+solution :: [Int] -> Int
+solution list = fst $ until ( all (\i -> i == 0 ) . snd ) step ( 0 , list )
+ where
+ step :: ( Int , [Int] ) -> ( Int , [Int] )
+ step ( num , aList ) = ( num + 1 , map (\n -> mySubtr n mini ) aList )
+ where
+ mini :: Int
+ mini = minimum $ filter ( > 0 ) aList
+
+main :: IO ( )
+main = do
+ putStrLn "Enter some positive integers, separated by blanks!"
+ numberstrings <- getLine
+ print $ solution $ map read $ words numberstrings
diff --git a/challenge-226/ulrich-rieke/perl/ch-1.pl b/challenge-226/ulrich-rieke/perl/ch-1.pl
new file mode 100755
index 0000000000..6f0b53bd11
--- /dev/null
+++ b/challenge-226/ulrich-rieke/perl/ch-1.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl ;
+use strict ;
+use warnings ;
+use feature 'say' ;
+
+say "Enter a string!" ;
+my $str = <STDIN> ;
+chomp $str ;
+say "Enter as many numbers as is given by the length of the string!" ;
+say "Numbers should be the indices to the string, going from 0 to length - 1!" ;
+my $numberstring = <STDIN> ;
+chomp $numberstring ;
+my @numbers = split( /\s/ , $numberstring ) ;
+my @pairs ;
+for my $pos (0..(length $str) - 1 ) {
+ push @pairs , [$numbers[ $pos ] , substr( $str , $pos , 1 ) ] ;
+}
+my @sorted = sort { $a->[0] <=> $b->[0] } @pairs ;
+my @letters = map { $_->[1] } @sorted ;
+say join( '' , @letters ) ;
diff --git a/challenge-226/ulrich-rieke/perl/ch-2.pl b/challenge-226/ulrich-rieke/perl/ch-2.pl
new file mode 100755
index 0000000000..3a2b7c13c5
--- /dev/null
+++ b/challenge-226/ulrich-rieke/perl/ch-2.pl
@@ -0,0 +1,27 @@
+#!/usr/bin/perl ;
+use strict ;
+use warnings ;
+use feature 'say' ;
+use List::Util qw ( all min ) ;
+
+sub mySubtr {
+ my $num = shift ;
+ my $mini = shift ;
+ $num -= $mini ;
+ if ( $num < 0 ) {
+ $num = 0 ;
+ }
+ return $num ;
+}
+
+say "Enter some positive integers, separated by blanks!" ;
+my $line = <STDIN> ;
+chomp $line ;
+my @numbers = split( /\s/ , $line ) ;
+my $rounds = 0 ;
+while ( not ( all { $_ == 0 } @numbers ) ) {
+ my $mini = min grep { $_ > 0 } @numbers ;
+ $rounds++ ;
+ @numbers = map { mySubtr( $_ , $mini ) } @numbers ;
+}
+say $rounds ;
diff --git a/challenge-226/ulrich-rieke/raku/ch-1.raku b/challenge-226/ulrich-rieke/raku/ch-1.raku
new file mode 100755
index 0000000000..1a638ee875
--- /dev/null
+++ b/challenge-226/ulrich-rieke/raku/ch-1.raku
@@ -0,0 +1,14 @@
+use v6 ;
+
+say "Please enter a string!" ;
+my $str = $*IN.get ;
+say "Please enter as many numbers as given by the length of the string!" ;
+say "Numbers should go from 0 to <length of the string> - 1!" ;
+my $numberstring = $*IN.get ;
+my @numbers = $numberstring.words.map( {.Int} ) ;
+my @pairs ;
+for ( 0..$str.chars - 1 ) -> $pos {
+ @pairs.push( Pair.new( @numbers[ $pos ] , $str.substr( $pos , 1 ) ) ) ;
+}
+my @letters = @pairs.sort( {$^a.key.Int <=> $^b.key.Int} ).map( {$_.value} ) ;
+say join( '' , @letters ) ;
diff --git a/challenge-226/ulrich-rieke/raku/ch-2.raku b/challenge-226/ulrich-rieke/raku/ch-2.raku
new file mode 100755
index 0000000000..8d37cb6679
--- /dev/null
+++ b/challenge-226/ulrich-rieke/raku/ch-2.raku
@@ -0,0 +1,20 @@
+use v6 ;
+
+sub mySubtr( $n is copy , $d is copy ) {
+ $n -= $d ;
+ if ( $n < 0 ) {
+ $n = 0 ;
+ }
+ return $n ;
+}
+
+say "Enter some positive integers, separated by blanks!" ;
+my $line = $*IN.get ;
+my @numbers = $line.words.map( {.Int} ) ;
+my $rounds = 0 ;
+while ( not (so 0 == @numbers.all )) {
+ my $minimum = @numbers.grep( {$_ > 0} ).min ;
+ @numbers = @numbers.map( { mySubtr( $_ , $minimum ) } ) ;
+ $rounds++ ;
+}
+say $rounds ;
diff --git a/challenge-226/ulrich-rieke/rust/ch-1.rs b/challenge-226/ulrich-rieke/rust/ch-1.rs
new file mode 100755
index 0000000000..5ce0f8b1c0
--- /dev/null
+++ b/challenge-226/ulrich-rieke/rust/ch-1.rs
@@ -0,0 +1,25 @@
+use std::io ;
+
+fn main() {
+ println!("Please enter a string!");
+ let mut inline : String = String::new( ) ;
+ io::stdin( ).read_line( &mut inline ).unwrap( ) ;
+ let entered_line : &str = &*inline ;
+ let changed : &str = entered_line.trim( ) ;
+ println!("Enter as many integers as the length of the string!");
+ println!("They should go from 0 to the <length of the string> - 1!") ;
+ let mut second_line : String = String::new( ) ;
+ io::stdin( ).read_line( &mut second_line ).unwrap( ) ;
+ let numberline : &str = &*second_line ;
+ let numbers : Vec<usize> = numberline.split_whitespace( ).map( | s |
+ s.trim( ).parse::<usize>( ).unwrap( ) ).collect( ) ;
+ let mut letters : Vec<(usize, char)> = numbers.into_iter( ).zip(
+ changed.chars( ) ).collect( ) ;
+ let letterpairs : &mut [(usize, char)] = letters.as_mut_slice( ) ;
+ letterpairs.sort_by( | a , b | a.0.cmp( &b.0 ) ) ;
+ let mut solution : String = String::new( ) ;
+ for p in letterpairs.iter( ) {
+ solution.push( p.1 ) ;
+ }
+ println!("{}" , solution ) ;
+}
diff --git a/challenge-226/ulrich-rieke/rust/ch-2.rs b/challenge-226/ulrich-rieke/rust/ch-2.rs
new file mode 100755
index 0000000000..211098ee37
--- /dev/null
+++ b/challenge-226/ulrich-rieke/rust/ch-2.rs
@@ -0,0 +1,23 @@
+use std::io ;
+
+fn main() {
+ println!("Please enter some positive integers, separated by blanks");
+ let mut inline : String = String::new( ) ;
+ io::stdin( ).read_line( &mut inline ).unwrap( ) ;
+ let entered_line : &str = &*inline ;
+ let mut numbers : Vec<i32> = entered_line.split_whitespace( ).map(
+ | s | s.trim( ).parse::<i32>( ).unwrap( )).collect( ) ;
+ let mut rounds : u32 = 0 ;
+ while ! numbers.iter( ).all( | n | *n == 0 ) {
+ let smallest_pos : i32 = *numbers.iter( ).filter( | n | **n > 0 ).
+ min( ).unwrap( ) ;
+ for n in numbers.iter_mut( ) {
+ *n -= smallest_pos ;
+ if *n < 0 {
+ *n = 0 ;
+ }
+ }
+ rounds += 1 ;
+ }
+ println!("{}" , rounds) ;
+}
diff --git a/members.json b/members.json
index 2db919fc24..109095c7a5 100644
--- a/members.json
+++ b/members.json
@@ -191,6 +191,7 @@
"ozzy" : "Ozzy",
"p6steve" : "P6steve",
"pablo-saavedra" : "Pablo Saavedra",
+ "packy-anderson" : "Packy Anderson",
"paul-fajman" : "Paul Fajman",
"paulo-custodio" : "Paulo Custodio",
"pavel-jurca" : "Pavel Jurca",
diff --git a/stats/pwc-challenge-225.json b/stats/pwc-challenge-225.json
new file mode 100644
index 0000000000..fd43b7a2b5
--- /dev/null
+++ b/stats/pwc-challenge-225.json
@@ -0,0 +1,695 @@
+{
+ "chart" : {
+ "type" : "column"
+ },
+ "series" : [
+ {
+ "name" : "The Weekly Challenge - 225",
+ "colorByPoint" : 1,
+ "data" : [
+ {
+ "name" : "Adam Russell",
+ "drilldown" : "Adam Russell",
+ "y" : 4
+ },
+ {
+ "name" : "Ali Moradi",
+ "y" : 4,
+ "drilldown" : "Ali Moradi"
+ },
+ {
+ "name" : "Andreas Voegele",
+ "y" : 2,
+ "drilldown" : "Andreas Voegele"
+ },
+ {
+ "name" : "Arne Sommer",
+ "y" : 3,
+ "drilldown" : "Arne Sommer"
+ },
+ {
+ "drilldown" : "Athanasius",
+ "y" : 4,
+ "name" : "Athanasius"
+ },
+ {
+ "name" : "Avery Adams",
+ "drilldown" : "Avery Adams",
+ "y" : 4
+ },
+ {
+ "name" : "BarrOff",
+ "drilldown" : "BarrOff",
+ "y" : 2
+ },
+ {
+ "name" : "Bob Lied",
+ "drilldown" : "Bob Lied",
+ "y" : 2
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Bruce Gray",
+ "name" : "Bruce Gray"
+ },
+ {
+ "drilldown" : "Cheok-Yin Fung",
+ "y" : 1,
+ "name" : "Cheok-Yin Fung"
+ },
+ {
+ "drilldown" : "Dave Jacoby",
+ "y" : 2,
+ "name" : "Dave Jacoby"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "David Ferrone",
+ "name" : "David Ferrone"
+ },
+ {
+ "name" : "E. Choroba",
+ "drilldown" : "E. Choroba",
+ "y" : 2
+ },
+ {
+ "name" : "Flavio Poletti",
+ "drilldown" : "Flavio Poletti",
+ "y" : 6
+ },
+ {
+ "name" : "Jaldhar H. Vyas",
+ "y" : 5,
+ "drilldown" : "Jaldhar H. Vyas"
+ },
+ {
+ "name" : "Jan Krnavek",
+ "drilldown" : "Jan Krnavek",
+ "y" : 2
+ },
+ {
+ "name" : "Joelle Maslak",
+ "drilldown" : "Joelle Maslak",
+ "y" : 2
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Jorg Sommrey",
+ "name" : "Jorg Sommrey"
+ },
+ {
+ "y" : 6,
+ "drilldown" : "Laurent Rosenfeld",
+ "name" : "Laurent Rosenfeld"
+ },
+ {
+ "drilldown" : "Lubos Kolouch",
+ "y" : 2,
+ "name" : "Lubos Kolouch"
+ },
+ {
+ "drilldown" : "Luca Ferrari",
+ "y" : 8,
+ "name" : "Luca Ferrari"
+ },
+ {
+ "name" : "Mariano Spadaccini",
+ "drilldown" : "Mariano Spadaccini",
+ "y" : 1
+ },
+ {
+ "drilldown" : "Mark Anderson",
+ "y" : 2,
+ "name" : "Mark Anderson"
+ },
+ {
+ "name" : "Matthew Neleigh",
+ "y" : 2,
+ "drilldown" : "Matthew Neleigh"
+ },
+ {
+ "y" : 3,
+ "drilldown" : "Matthias Muth",
+ "name" : "Matthias Muth"
+ },
+ {
+ "drilldown" : "Peter Campbell Smith",
+ "y" : 3,
+ "name" : "Peter Campbell Smith"
+ },
+ {
+ "drilldown" : "PokGoPun",
+ "y" : 2,
+ "name" : "PokGoPun"
+ },
+ {
+ "name" : "Robbie Hatley",
+ "y" : 3,
+ "drilldown" : "Robbie Hatley"
+ },
+ {
+ "y" : 4,
+ "drilldown" : "Robert DiCicco",
+ "name" : "Robert DiCicco"
+ },
+ {
+ "name" : "Robert Ransbottom",
+ "y" : 2,
+ "drilldown" : "Robert Ransbottom"
+ },
+ {
+ "name" : "Roger Bell_West",
+ "drilldown" : "Roger Bell_West",
+ "y" : 5
+ },
+ {
+ "y" : 3,
+ "drilldown" : "Simon Green",
+ "name" : "Simon Green"
+ },
+ {
+ "drilldown" : "Solathian",
+ "y" : 2,
+ "name" : "Solathian"
+ },
+ {
+ "y" : 1,
+ "drilldown" : "Steven Wilson",
+ "name" : "Steven Wilson"
+ },
+ {
+ "y" : 4,
+ "drilldown" : "Thomas Kohler",
+ "name" : "Thomas Kohler"
+ },
+ {
+ "name" : "Ulrich Rieke",
+ "drilldown" : "Ulrich Rieke",
+ "y" : 4
+ },
+ {
+ "y" : 3,
+ "drilldown" : "W. Luis Mochan",
+ "name" : "W. Luis Mochan"
+ }
+ ]
+ }
+ ],
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ }
+ }
+ },
+ "title" : {
+ "text" : "The Weekly Challenge - 225"
+ },
+ "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/>"
+ },
+ "drilldown" : {
+ "series" : [
+ {
+ "id" : "Adam Russell",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Blog",
+ 2
+ ]
+ ],
+ "name" : "Adam Russell"
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [