diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-11-16 21:22:26 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-11-16 21:22:26 +0000 |
| commit | b5e40df31c953c3c811d5ba462ff9b8bdf93be93 (patch) | |
| tree | 6d1bd1c2bfa447381735a26cb62d962dd3f0d384 | |
| parent | 78cbeb44a6434204b9090e7edeff5b599c3a56a5 (diff) | |
| download | perlweeklychallenge-club-b5e40df31c953c3c811d5ba462ff9b8bdf93be93.tar.gz perlweeklychallenge-club-b5e40df31c953c3c811d5ba462ff9b8bdf93be93.tar.bz2 perlweeklychallenge-club-b5e40df31c953c3c811d5ba462ff9b8bdf93be93.zip | |
- Added solutions to the task "Twice Largest" of week 191.
| -rw-r--r-- | challenge-191/mohammad-anwar/java/theweeklychallenge/TwiceLargest.java | 52 | ||||
| -rw-r--r-- | challenge-191/mohammad-anwar/perl/ch-1.pl | 40 | ||||
| -rw-r--r-- | challenge-191/mohammad-anwar/python/ch-1.py | 41 | ||||
| -rw-r--r-- | challenge-191/mohammad-anwar/raku/ch-1.raku | 39 | ||||
| -rw-r--r-- | challenge-191/mohammad-anwar/swift/ch-1.swift | 88 | ||||
| -rw-r--r-- | stats/pwc-current.json | 239 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 68 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1304 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 378 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 96 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 56 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 28 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-271-300.json | 52 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 602 |
20 files changed, 1870 insertions, 1591 deletions
diff --git a/challenge-191/mohammad-anwar/java/theweeklychallenge/TwiceLargest.java b/challenge-191/mohammad-anwar/java/theweeklychallenge/TwiceLargest.java new file mode 100644 index 0000000000..5ee4cdde29 --- /dev/null +++ b/challenge-191/mohammad-anwar/java/theweeklychallenge/TwiceLargest.java @@ -0,0 +1,52 @@ +package theweeklychallenge; + +/* + +Week 191: + + https://theweeklychallenge.org/blog/perl-weekly-challenge-191 + +Task #1: Twice Largest + + You are given list of integers, @list. + + Write a script to find out whether the largest item in the list + is at least twice as large as each of the other items. + +Compile and Run: + + mohammad-anwar/java$ javac theweeklychallenge/TwiceLargest.java + mohammad-anwar/java$ java theweeklychallenge.TwiceLargest + +*/ + +import java.util.Arrays; +import junit.framework.TestCase; +import static junit.framework.Assert.*; + +public class TwiceLargest extends TestCase { + + public static void main(String[] args) { + junit.textui.TestRunner.run( + theweeklychallenge.TwiceLargest.class + ); + } + + public void testTwiceLargest() { + assertEquals(twiceLargest(new int[]{1, 2, 3, 4}), -1); + assertEquals(twiceLargest(new int[]{1, 2, 0, 5}), 1); + assertEquals(twiceLargest(new int[]{2, 6, 3, 1}), 1); + assertEquals(twiceLargest(new int[]{4, 5, 2, 3}), -1); + } + + public static int twiceLargest(int[] array) { + Arrays.sort(array); + int max = array[array.length-1]; + for(int i : array) { + if (i == max) { continue; } + if (i * 2 > max) { return -1; }; + } + + return 1; + } +} diff --git a/challenge-191/mohammad-anwar/perl/ch-1.pl b/challenge-191/mohammad-anwar/perl/ch-1.pl new file mode 100644 index 0000000000..8f479dd3fb --- /dev/null +++ b/challenge-191/mohammad-anwar/perl/ch-1.pl @@ -0,0 +1,40 @@ +#!/usr/bin/perl + +=head1 + +Week 191: + + https://theweeklychallenge.org/blog/perl-weekly-challenge-191 + +Task #1: Twice Largest + + You are given list of integers, @list. + + Write a script to find out whether the largest item in the list + is at least twice as large as each of the other items. + +=cut + +use v5.36; +use Test2::V0; + +is twice_largest(1, 2, 3, 4), -1, 'Example 1'; +is twice_largest(1, 2, 0, 5), 1, 'Example 2'; +is twice_largest(2, 6, 3, 1), 1, 'Example 3'; +is twice_largest(4, 5, 2, 3), -1, 'Example 4'; + +done_testing; + +# +# +# METHOD + +sub twice_largest(@list) { + my $max = [ sort @list ]->[-1]; + foreach (@list) { + next if $_ == $max; + ($_ * 2 > $max) and return -1; + } + + return 1; +} diff --git a/challenge-191/mohammad-anwar/python/ch-1.py b/challenge-191/mohammad-anwar/python/ch-1.py new file mode 100644 index 0000000000..d8b6032c40 --- /dev/null +++ b/challenge-191/mohammad-anwar/python/ch-1.py @@ -0,0 +1,41 @@ +#!/usr/bin/python3 + +''' + +Week 191: + + https://theweeklychallenge.org/blog/perl-weekly-challenge-191 + +Task #1: Twice Largest + + You are given list of integers, @list. + + Write a script to find out whether the largest item in the list + is at least twice as large as each of the other items. + +''' + +import unittest + +def twiceLargest(array) -> int: + m = sorted(array).pop() + for i in array: + if i == m: + continue + if i * 2 > m: + return -1 + + return 1 + +# +# +# Unit test class + +class TestTwiceLargest(unittest.TestCase): + def test_twiceLargest(self): + self.assertEqual(twiceLargest([1, 2, 3, 4]), -1, 'Example 1') + self.assertEqual(twiceLargest([1, 2, 0, 5]), 1, 'Example 2') + self.assertEqual(twiceLargest([2, 6, 3, 1]), 1, 'Example 3') + self.assertEqual(twiceLargest([4, 5, 2, 3]), -1, 'Example 4') + +unittest.main() diff --git a/challenge-191/mohammad-anwar/raku/ch-1.raku b/challenge-191/mohammad-anwar/raku/ch-1.raku new file mode 100644 index 0000000000..3110dbc44b --- /dev/null +++ b/challenge-191/mohammad-anwar/raku/ch-1.raku @@ -0,0 +1,39 @@ +#!/usr/bin/env raku + +=begin pod + +Week 191: + + https://theweeklychallenge.org/blog/perl-weekly-challenge-191 + +Task #1: Twice Largest + + You are given list of integers, @list. + + Write a script to find out whether the largest item in the list + is at least twice as large as each of the other items. + +=end pod + +use Test; + +is twice-largest(<1 2 3 4>), -1, 'Example 1'; +is twice-largest(<1 2 0 5>), 1, 'Example 2'; +is twice-largest(<2 6 3 1>), 1, 'Example 3'; +is twice-largest(<4 5 2 3>), -1, 'Example 4'; + +done-testing; + +# +# +# METHOD + +sub twice-largest(@list --> Int) { + my Int $max = @list.sort.tail; + for @list -> $i { + next if $i == $max; + ($i * 2 > $max) and return -1; + } + + return 1; +} diff --git a/challenge-191/mohammad-anwar/swift/ch-1.swift b/challenge-191/mohammad-anwar/swift/ch-1.swift new file mode 100644 index 0000000000..2047992cdd --- /dev/null +++ b/challenge-191/mohammad-anwar/swift/ch-1.swift @@ -0,0 +1,88 @@ +import Foundation + +/* + +Week 191: + + https://perlweeklychallenge.org/blog/perl-weekly-challenge-1910 + +Task #1: Twice Largest + + You are given list of integers, @list. + + Write a script to find out whether the largest item in the list + is at least twice as large as each of the other items. + +ACTION: + + $ swift ch-1.swift "1, 2, 3, 4" + $ swift ch-1.swift "1, 2, 0, 5" + $ swift ch-1.swift "2, 6, 3, 1" + $ swift ch-1.swift "4, 5, 2, 3" + +*/ + +enum ParamError: Error { + case missingList + case invalidList +} + +do { + let paramCount:Int = Int(CommandLine.argc) + + if paramCount <= 1 { + throw ParamError.missingList + } + + let list:String = CommandLine.arguments[1] + if isValidList(list) { + let array = list.components(separatedBy: ", ") + var intArray = array.map { Int($0)! } + let size = intArray.count + + iintArray.sort() + let max = (intArray.last)! + + var found = 1 + for i in 0...size-1 { + if intArray[i] == max { + continue + } + if intArray[i] * 2 > max { + found = -1 + break; + } + } + print(found) + } + else { + throw ParamError.invalidList + } +} +catch ParamError.missingList { + print("Missing list.") +} +catch ParamError.invalidList { + print("Invalid list.") +} +catch let error { + print(error) +} + +// +// +// Function + +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 + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 8a715353bf..9ec1b465bd 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,128 +1,45 @@ { - "chart" : { - "type" : "column" - }, "legend" : { "enabled" : 0 }, "xAxis" : { "type" : "category" }, - "series" : [ - { - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 191", - "data" : [ - { - "name" : "Feng Chang", - "drilldown" : "Feng Chang", - "y" : 2 - }, - { - "name" : "Humberto Massa", - "drilldown" : "Humberto Massa", - "y" : 2 - }, - { - "name" : "Laurent Rosenfeld", - "drilldown" : "Laurent Rosenfeld", - "y" : 5 - }, - { - "y" : 8, - "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari" - }, - { - "drilldown" : "Mark Anderson", - "name" : "Mark Anderson", - "y" : 2 - }, - { - "drilldown" : "Niels van Dijke", - "name" : "Niels van Dijke", - "y" : 2 - }, - { - "drilldown" : "Peter Campbell Smith", - "name" : "Peter Campbell Smith", - "y" : 3 - }, - { - "name" : "Robert DiCicco", - "drilldown" : "Robert DiCicco", - "y" : 2 - }, - { - "name" : "Roger Bell_West", - "drilldown" : "Roger Bell_West", - "y" : 4 - }, - { - "name" : "Simon Proctor", - "drilldown" : "Simon Proctor", - "y" : 2 - }, - { - "y" : 2, - "drilldown" : "Tim Potapov", - "name" : "Tim Potapov" - }, - { - "drilldown" : "Ulrich Rieke", - "name" : "Ulrich Rieke", - "y" : 4 - }, - { - "y" : 3, - "name" : "W. Luis Mochan", - "drilldown" : "W. Luis Mochan" - } - ] - } - ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, "plotOptions" : { "series" : { - "borderWidth" : 0, "dataLabels" : { "format" : "{point.y}", "enabled" : 1 - } + }, + "borderWidth" : 0 } }, "subtitle" : { - "text" : "[Champions: 13] Last updated at 2022-11-16 16:51:41 GMT" + "text" : "[Champions: 14] Last updated at 2022-11-16 21:18:35 GMT" }, "drilldown" : { "series" : [ { "id" : "Feng Chang", - "name" : "Feng Chang", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Feng Chang" }, { - "name" : "Humberto Massa", + "id" : "Humberto Massa", "data" : [ [ "Raku", 2 ] ], - "id" : "Humberto Massa" + "name" : "Humberto Massa" }, { - "id" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -136,7 +53,9 @@ "Blog", 1 ] - ] + ], + "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" }, { "data" : [ @@ -149,8 +68,8 @@ 6 ] ], - "name" : "Luca Ferrari", - "id" : "Luca Ferrari" + "id" : "Luca Ferrari", + "name" : "Luca Ferrari" }, { "name" : "Mark Anderson", @@ -163,17 +82,30 @@ "id" : "Mark Anderson" }, { + "data" : [ + [ + "Perl", + 1 + ], + [ + "Raku", + 1 + ] + ], + "id" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" + }, + { "name" : "Niels van Dijke", + "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ], - "id" : "Niels van Dijke" + ] }, { - "name" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -184,10 +116,11 @@ 1 ] ], - "id" : "Peter Campbell Smith" + "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith" }, { - "id" : "Robert DiCicco", + "name" : "Robert DiCicco", "data" : [ [ "Perl", @@ -198,9 +131,11 @@ 1 ] ], - "name" : "Robert DiCicco" + "id" : "Robert DiCicco" }, { + "name" : "Roger Bell_West", + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -210,33 +145,31 @@ "Raku", 2 ] - ], - "name" : "Roger Bell_West", - "id" : "Roger Bell_West" + ] }, { + "name" : "Simon Proctor", "id" : "Simon Proctor", "data" : [ [ "Raku", 2 ] - ], - "name" : "Simon Proctor" + ] }, { + "id" : "Tim Potapov", "data" : [ [ "Perl", 2 ] ], - "name" : "Tim Potapov", - "id" : "Tim Potapov" + "name" : "Tim Potapov" }, { - "id" : "Ulrich Rieke", "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -249,6 +182,7 @@ ] }, { + "name" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -259,15 +193,100 @@ 1 ] ], - "name" : "W. Luis Mochan", "id" : "W. Luis Mochan" } ] }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "series" : [ + { + "name" : "The Weekly Challenge - 191", + "data" : [ + { + "drilldown" : "Feng Chang", + "y" : 2, + "name" : "Feng Chang" + }, + { + "y" : 2, + "name" : "Humberto Massa", + "drilldown" : "Humberto Massa" + }, + { + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", + "y" : 5 + }, + { + "drilldown" : "Luca Ferrari", + "y" : 8, + "name" : "Luca Ferrari" + }, + { + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson", + "y" : 2 + }, + { + "drilldown" : "Mohammad S Anwar", + "y" : 2, + "name" : "Mohammad S Anwar" + }, + { + "y" : 2, + "name" : "Niels van Dijke", + "drilldown" : "Niels van Dijke" + }, + { + "drilldown" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", + "y" : 3 + }, + { + "y" : 2, + "name" : "Robert DiCicco", + "drilldown" : "Robert DiCicco" + }, + { + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West", + "y" : 4 + }, + { + "drilldown" : "Simon Proctor", + "y" : 2, + "name" : "Simon Proctor" + }, + { + "drilldown" : "Tim Potapov", + "y" : 2, + "name" : "Tim Potapov" + }, + { + "drilldown" : "Ulrich Rieke", + "y" : 4, + "name" : "Ulrich Rieke" + }, + { + "y" : 3, + "name" : "W. Luis Mochan", + "drilldown" : "W. Luis Mochan" + } + ], + "colorByPoint" : 1 + } + ], + "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/>" + "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/>" }, "title" : { "text" : "The Weekly Challenge - 191" diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 4a2cb80110..f0dc14fcda 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,27 +1,34 @@ { - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2022]" - }, - "subtitle" : { - "text" : "Last updated at 2022-11-16 16:51:40 GMT" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "legend" : { - "enabled" : "false" - }, "xAxis" : { "type" : "category", "labels" : { "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" } } }, + "legend" : { + "enabled" : "false" + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2022]" + }, "series" : [ { + "dataLabels" : { + "y" : 10, + "align" : "right", + "rotation" : -90, + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "color" : "#FFFFFF", + "enabled" : "true", + "format" : "{point.y:.0f}" + }, + "name" : "Contributions", "data" : [ [ "Blog", @@ -29,35 +36,28 @@ ], [ "Perl", - 9326 + 9327 ], [ "Raku", - 5603 + 5604 ] - ], - "name" : "Contributions", - "dataLabels" : { - "y" : 10, - "color" : "#FFFFFF", - "format" : "{point.y:.0f}", - "rotation" : -90, - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "enabled" : "true", - "align" : "right" - } + ] } ], + "chart" : { + "type" : "column" + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, "yAxis" : { - "min" : 0, "title" : { "text" : null - } + }, + "min" : 0 }, - "chart" : { - "type" : "column" + "subtitle" : { + "text" : "Last updated at 2022-11-16 21:18:35 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 70a14c4b27..ddb09b3787 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,41 +1,44 @@ { + "tooltip" : { + "headerFormat" : "<span style=\"font-size:11px\"></span>", + "followPointer" : "true", + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>" + }, "chart" : { "type" : "column" }, - "legend" : { - "enabled" : "false" - }, "series" : [ { + "name" : "The Weekly Challenge Languages", "data" : [ { "name" : "#001", - "drilldown" : "001", - "y" : 161 + "y" : 161, + "drilldown" : "001" }, { - "y" : 125, "drilldown" : "002", + "y" : 125, "name" : "#002" }, { - "drilldown" : "003", + "y" : 83, "name" : "#003", - "y" : 83 + "drilldown" : "003" }, { - "name" : "#004", "drilldown" : "004", + "name" : "#004", "y" : 99 }, { - "name" : "#005", "drilldown" : "005", - "y" : 78 + "y" : 78, + "name" : "#005" }, { - "y" : 58, "name" : "#006", + "y" : 58, "drilldown" : "006" }, { @@ -44,9 +47,9 @@ "drilldown" : "007" }, { + "name" : "#008", "y" : 78, - "drilldown" : "008", - "name" : "#008" + "drilldown" : "008" }, { "y" : 76, @@ -59,74 +62,74 @@ "drilldown" : "010" }, { - "y" : 85, "drilldown" : "011", - "name" : "#011" + "name" : "#011", + "y" : 85 }, { + "y" : 89, "name" : "#012", - "drilldown" : "012", - "y" : 89 + "drilldown" : "012" }, { - "drilldown" : "013", + "y" : 85, "name" : "#013", - "y" : 85 + "drilldown" : "013" }, { - "y" : 101, + "drilldown" : "014", "name" : "#014", - "drilldown" : "014" + "y" : 101 }, { + "name" : "#015", "y" : 99, - "drilldown" : "015", - "name" : "#015" + "drilldown" : "015" }, { - "name" : "#016", "drilldown" : "016", + "name" : "#016", "y" : 71 }, { - "y" : 84, "drilldown" : "017", - "name" : "#017" + "name" : "#017", + "y" : 84 }, { - "drilldown" : "018", "name" : "#018", - "y" : 81 + "y" : 81, + "drilldown" : "018" }, { - "y" : 103, + "drilldown" : "019", "name" : "#019", - "drilldown" : "019" + "y" : 103 }, { "name" : "#020", - "drilldown" : "020", - "y" : 101 + "y" : 101, + "drilldown" : "020" }, { "name" : "#021", - "drilldown" : "021", - "y" : 72 + "y" : 72, + "drilldown" : "021" }, { "name" : "#022", - "drilldown" : "022", - "y" : 68 + "y" : 68, + "drilldown" : "022" }, { + "name" : "#023", "y" : 97, - "drilldown" : "023", - "name" : "#023" + "drilldown" : "023" }, { + "drilldown" : "024", "y" : 75, - "name" : "#024", - "drilldown" : "024" + "name" : "#024" }, { "y" : 59, @@ -134,49 +137,49 @@ "drilldown" : "025" }, { - "name" : "#026", "drilldown" : "026", - "y" : 74 + "y" : 74, + "name" : "#026" }, { + "y" : 62, "name" : "#027", - "drilldown" : "027", - "y" : 62 + "drilldown" : "027" }, { - "drilldown" : "028", + "y" : 82, "name" : "#028", - "y" : 82 + "drilldown" : "028" }, { - "drilldown" : "029", + "y" : 81, "name" : "#029", - "y" : 81 + "drilldown" : "029" }, { - "name" : "#030", "drilldown" : "030", + "name" : "#030", "y" : 119 }, { + "drilldown" : "031", "y" : 91, - "name" : "#031", - "drilldown" : "031" + "name" : "#031" }, { - "name" : "#032", "drilldown" : "032", - "y" : 96 + "y" : 96, + "name" : "#032" }, { - "y" : 112, + "drilldown" : "033", "name" : "#033", - "drilldown" : "033" + "y" : 112 }, { "y" : 66, - "drilldown" : "034", - "name" : "#034" + "name" : "#034", + "drilldown" : "034" }, { "y" : 66, @@ -184,68 +187,68 @@ "drilldown" : "035" }, { - "name" : "#036", "drilldown" : "036", + "name" : "#036", "y" : 70 }, { - "y" : 69, "drilldown" : "037", + "y" : 69, "name" : "#037" }, { + "name" : "#038 |
