From 6ee7e9d0a9b5f5b7bbe928a118a52d65b04e59e9 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 6 Sep 2021 09:11:30 +0100 Subject: - Added template for week 129. --- challenge-129/3ter/README | 1 + challenge-129/LoneWolfiNTj/README | 1 + challenge-129/aaron-rowe/README | 1 + challenge-129/aaron-sherman/README | 1 + challenge-129/aaronreidsmith/README | 1 + challenge-129/abigail/README.md | 83 ++++++++ challenge-129/adam-russell/README | 1 + challenge-129/adherzog/README | 1 + challenge-129/ailbhe-tweedie/README | 1 + challenge-129/alex-daniel/README | 1 + challenge-129/alexander-karelas/README | 1 + challenge-129/alexander-pankoff/README | 1 + challenge-129/alicia-bielsa/README | 1 + challenge-129/andinus/README | 166 ++++++++++++++++ challenge-129/andrezgz/README | 1 + challenge-129/anton-fedotov/README | 1 + challenge-129/antonio-gamiz/README | 1 + challenge-129/arne-sommer/README | 1 + challenge-129/arpad-toth/README | 1 + challenge-129/ash/README | 1 + challenge-129/athanasius/README | 1 + challenge-129/aubrey-quarcoo/README | 1 + challenge-129/aviral-goel/README | 1 + challenge-129/belmark-caday/README | 1 + challenge-129/ben-davies/README.md | 1 + challenge-129/bill-palmer/README | 1 + challenge-129/bkb/README | 1 + challenge-129/bob-kleemann/README | 1 + challenge-129/bob-lied/README | 3 + challenge-129/brtastic/README | 1 + challenge-129/bruce-gray/README | 1 + challenge-129/bruno-ramos/README | 1 + challenge-129/burkhard-nickels/README | 1 + challenge-129/bwva/README | 1 + challenge-129/cheok-yin-fung/README | 1 + challenge-129/christian-jaeger/README | 1 + challenge-129/cliveholloway/README | 1 + challenge-129/colin-crain/README | 1 + challenge-129/craig/README | 1 + challenge-129/creewick/README | 1 + challenge-129/cristian-heredia/README | 1 + challenge-129/daniel-mantovani/README | 1 + challenge-129/daniel-mita/README | 1 + challenge-129/darren-bottin/README | 1 + challenge-129/dave-cross/README | 1 + challenge-129/dave-jacoby/README | 1 + challenge-129/david-kayal/README | 1 + challenge-129/ddobbelaere/README | 1 + challenge-129/deadmarshal/README | 1 + challenge-129/denis-yurashku/README | 1 + challenge-129/dms061/readme | 8 + challenge-129/donald-hunter/README | 1 + challenge-129/doug-schrag/README | 1 + challenge-129/dracos/README | 1 + challenge-129/duane-powell/README | 1 + challenge-129/duncan-c-white/README | 60 ++++++ challenge-129/e-choroba/README | 1 + challenge-129/eddy-hs/README | 1 + challenge-129/eric-cheung/README | 1 + challenge-129/fabrizio-poggi/README | 1 + challenge-129/feng-chang/README | 1 + challenge-129/finanalyst/README | 1 + challenge-129/finley/README | 1 + challenge-129/fjwhittle/README | 1 + challenge-129/frankivo/README | 1 + challenge-129/fred-zinn/README | 1 + challenge-129/freddie-b/README | 1 + challenge-129/garrett-goebel/README | 1 + challenge-129/giuseppe-terlizzi/README | 1 + challenge-129/gugod/README | 1 + challenge-129/gugod/rust/.gitignore | 2 + challenge-129/guillermo-ramos/README | 1 + challenge-129/gurunandan-bhat/README | 1 + challenge-129/gustavo-chaves/README | 1 + challenge-129/hatorikibble/README | 1 + challenge-129/hauke-d/README | 1 + challenge-129/henry-wong/README | 1 + challenge-129/hstejas/README | 1 + challenge-129/iangoodnight/README.md | 1 + challenge-129/ianrifkin/README | 1 + challenge-129/izifresh/README | 1 + challenge-129/jacques-guinnebault/README | 1 + challenge-129/jaime/README | 59 ++++++ challenge-129/jaldhar-h-vyas/README | 1 + challenge-129/james-smith/README.md | 154 +++++++++++++++ challenge-129/jan-perl/README | 1 + challenge-129/jaredor/README | 1 + challenge-129/jason-messer/README | 1 + challenge-129/javier-luque/README | 1 + challenge-129/jbourlakos/README | 1 + challenge-129/jcrosswh/README | 1 + challenge-129/jdos22/README | 1 + challenge-129/jeff/README | 1 + challenge-129/jeongoon/.gitignore | 5 + challenge-129/jeongoon/README | 1 + challenge-129/jeremy-carman/README | 1 + challenge-129/jim-bacon/README | 1 + challenge-129/jitu-keshwani/README | 1 + challenge-129/jj-merelo/README | 1 + challenge-129/jluis/README | 1 + challenge-129/jo-37/README | 1 + challenge-129/jo-christian-oterhals/README | 1 + challenge-129/joe-tym/README | 1 + challenge-129/joelle-maslak/README | 1 + challenge-129/john-barrett/README | 1 + challenge-129/jokraft/README | 1 + challenge-129/juan-caballero/README | 1 + challenge-129/julien-fiegehenn/README | 1 + challenge-129/juliodcs/README | 1 + challenge-129/kai-burgdorf/README.md | 1 + challenge-129/kevin-colyer/README | 3 + challenge-129/khalid/README | 1 + challenge-129/kian-meng-ang/README | 1 + challenge-129/kiran-kumar/README | 1 + challenge-129/kivanc-yazan/.gitignore | 2 + challenge-129/kivanc-yazan/README | 1 + challenge-129/kjetillll/README | 1 + challenge-129/kordaff/README | 1 + challenge-129/kostas-giannakakis/README | 1 + challenge-129/kurkale6ka/README | 1 + challenge-129/lance-wicks/README | 1 + challenge-129/lars-balker/README | 1 + challenge-129/lars-thegler/README | 1 + challenge-129/laurent-rosenfeld/README | 1 + challenge-129/leoltron/README | 1 + challenge-129/lubos-kolouch/README | 1 + challenge-129/luc65r/README | 1 + challenge-129/luca-ferrari/README | 1 + challenge-129/magnus-woldrich/README | 1 + challenge-129/manfredi/README | 1 + challenge-129/mano-chandar/README | 1 + challenge-129/mark-anderson/README | 1 + challenge-129/mark-senn/README | 1 + challenge-129/markjreed/README | 6 + challenge-129/markus-holzer/README | 1 + challenge-129/martin-barth/README | 1 + challenge-129/martin-mugeni/README | 1 + challenge-129/mathmauney/README | 1 + challenge-129/matt-latusek/README | 1 + challenge-129/matthew-persico/README | 1 + challenge-129/mattneleigh/README | 1 + challenge-129/maxim-kolodyazhny/README | 1 + challenge-129/maxim-nechaev/README | 1 + challenge-129/michael-hamlin/README | 5 + challenge-129/michael-schaap/README | 1 + challenge-129/mihail-iosilevitch/README | 1 + challenge-129/mike-accardo/README | 1 + challenge-129/mimosinnet/README | 1 + challenge-129/mohammad-anwar/README | 1 + challenge-129/ndelucca/README | 1 + challenge-129/neil-bowers/README | 1 + challenge-129/nick-logan/README | 1 + challenge-129/nikhil-prasanna/README | 1 + challenge-129/noud/README | 1 + challenge-129/nunovieira220/README | 1 + challenge-129/ohmycloud/README | 1 + challenge-129/oleksii-tsvietnov/README | 1 + challenge-129/olivier-delouya/README | 1 + challenge-129/olli-antti/README | 1 + challenge-129/orestis-zekai/README | 1 + challenge-129/ozzy/README | 1 + challenge-129/p6steve/README | 1 + challenge-129/pablo-saavedra/README | 1 + challenge-129/paul-fajman/README | 1 + challenge-129/paulo-custodio/README | 1 + challenge-129/pavel-jurca/README | 1 + challenge-129/pavel-starikov/README | 1 + challenge-129/pavel_kuptsov/README | 2 + challenge-129/perlboy1967/README | 1 + challenge-129/pete-houston/README | 1 + challenge-129/pete-sergeant/README | 1 + challenge-129/peter-campbell-smith/README | 1 + challenge-129/peter-meszaros/README | 1 + challenge-129/peter-scott/README | 1 + challenge-129/petr-roubicek/README | 1 + challenge-129/philippe-bruhat/README | 1 + challenge-129/phillip-harris/README | 1 + challenge-129/pjdurai/README | 1 + challenge-129/pkmnx/README | 1 + challenge-129/plis-acm/.gitignore | 1 + challenge-129/plis-acm/README | 1 + challenge-129/polettix/README | 1 + challenge-129/polettix/perl/.gitignore | 1 + challenge-129/prajith-p/README | 1 + challenge-129/rage311/README | 1 + challenge-129/rakulius/README | 1 + challenge-129/randy-lauen/README | 1 + challenge-129/richard-park/README | 1 + challenge-129/rnuttall/README | 1 + challenge-129/rob-van-dam/README | 1 + challenge-129/rob4t/README | 1 + challenge-129/roger-bell-west/README | 1 + challenge-129/ruben-westerberg/README | 9 + challenge-129/ryan-thompson/README.md | 19 ++ challenge-129/saiftynet/README | 1 + challenge-129/samir-parikh/README | 1 + challenge-129/sangeet-kar/README | 1 + challenge-129/sean-meininger/README | 1 + challenge-129/sergiotarxz/README | 1 + challenge-129/sgreen/README.md | 3 + challenge-129/shahed-nooshmand/README | 1 + challenge-129/shardiwal/README | 1 + challenge-129/shaun-pearce/README | 1 + challenge-129/shawak/README.md | 1 + challenge-129/shawn-wagner/README | 1 + challenge-129/simon-miner/README | 1 + challenge-129/simon-proctor/README | 1 + challenge-129/simon-reinhardt/README | 1 + challenge-129/sol-demuth/README | 1 + challenge-129/southpawgeek/README | 1 + challenge-129/stephanie-stein/README | 1 + challenge-129/steve-bresson/README | 1 + challenge-129/steve-rogerson/README | 1 + challenge-129/steven-lembark/README | 1 + challenge-129/steven-wilson/README | 1 + challenge-129/stuart-little/README | 1 + challenge-129/svetlana-nesterova/README | 1 + challenge-129/swaggboi/README | 1 + challenge-129/szabgab/README | 1 + challenge-129/ted-leahy/README | 1 + challenge-129/testerR59/README | 1 + challenge-129/tiago-stock/README | 1 + challenge-129/tim-smith/README | 1 + challenge-129/tore-andersson/README | 1 + challenge-129/trenton-langer/README | 1 + challenge-129/tyler-limkemann/README | 1 + challenge-129/tyler-wardhaugh/README | 1 + challenge-129/tyler-wardhaugh/clojure/.gitignore | 16 ++ challenge-129/tyler-wardhaugh/clojure/LICENSE | 214 +++++++++++++++++++++ challenge-129/tyler-wardhaugh/clojure/README.md | 48 +++++ challenge-129/tyler-wardhaugh/clojure/bb.edn | 91 +++++++++ challenge-129/tyler-wardhaugh/clojure/deps.edn | 15 ++ challenge-129/tyler-wardhaugh/clojure/pom.xml | 49 +++++ .../tyler-wardhaugh/clojure/resources/.keep | 0 challenge-129/tyler-wardhaugh/python/.gitignore | 24 +++ challenge-129/ulrich-rieke/README | 1 + challenge-129/user-person/README | 1 + challenge-129/uzluisf/README | 1 + challenge-129/veesh-goldman/README | 1 + challenge-129/vinod-k/README | 1 + challenge-129/vinod-pal/README | 1 + challenge-129/vyacheslav-volgarev/README | 1 + challenge-129/walt-mankowski/README.md | 58 ++++++ challenge-129/walt-mankowski/c/.gitignore | 2 + challenge-129/walt-mankowski/cpp/.gitignore | 2 + .../walt-mankowski/python/.python-version | 1 + challenge-129/wambash/README | 1 + challenge-129/wanderdoc/README | 1 + challenge-129/will-west/README | 1 + challenge-129/william-gilmore/README | 1 + challenge-129/wlmb/README | 1 + challenge-129/x1mandi/README | 1 + challenge-129/xkr47/README | 11 ++ challenge-129/xliff/README | 1 + challenge-129/yary-h/README | 1 + challenge-129/yet-ebreo/README | 1 + challenge-129/yozen-hernandez/README | 1 + challenge-129/ziameraj16/README.md | 27 +++ .../ziameraj16/kotlin/META-INF/main.kotlin_module | Bin 0 -> 24 bytes 259 files changed, 1374 insertions(+) create mode 100644 challenge-129/3ter/README create mode 100755 challenge-129/LoneWolfiNTj/README create mode 100644 challenge-129/aaron-rowe/README create mode 100644 challenge-129/aaron-sherman/README create mode 100644 challenge-129/aaronreidsmith/README create mode 100644 challenge-129/abigail/README.md create mode 100644 challenge-129/adam-russell/README create mode 100644 challenge-129/adherzog/README create mode 100644 challenge-129/ailbhe-tweedie/README create mode 100644 challenge-129/alex-daniel/README create mode 100644 challenge-129/alexander-karelas/README create mode 100644 challenge-129/alexander-pankoff/README create mode 100644 challenge-129/alicia-bielsa/README create mode 100644 challenge-129/andinus/README create mode 100644 challenge-129/andrezgz/README create mode 100644 challenge-129/anton-fedotov/README create mode 100644 challenge-129/antonio-gamiz/README create mode 100644 challenge-129/arne-sommer/README create mode 100644 challenge-129/arpad-toth/README create mode 100644 challenge-129/ash/README create mode 100644 challenge-129/athanasius/README create mode 100644 challenge-129/aubrey-quarcoo/README create mode 100644 challenge-129/aviral-goel/README create mode 100644 challenge-129/belmark-caday/README create mode 100644 challenge-129/ben-davies/README.md create mode 100644 challenge-129/bill-palmer/README create mode 100644 challenge-129/bkb/README create mode 100644 challenge-129/bob-kleemann/README create mode 100644 challenge-129/bob-lied/README create mode 100644 challenge-129/brtastic/README create mode 100644 challenge-129/bruce-gray/README create mode 100644 challenge-129/bruno-ramos/README create mode 100644 challenge-129/burkhard-nickels/README create mode 100644 challenge-129/bwva/README create mode 100644 challenge-129/cheok-yin-fung/README create mode 100644 challenge-129/christian-jaeger/README create mode 100644 challenge-129/cliveholloway/README create mode 100644 challenge-129/colin-crain/README create mode 100644 challenge-129/craig/README create mode 100644 challenge-129/creewick/README create mode 100644 challenge-129/cristian-heredia/README create mode 100644 challenge-129/daniel-mantovani/README create mode 100644 challenge-129/daniel-mita/README create mode 100644 challenge-129/darren-bottin/README create mode 100644 challenge-129/dave-cross/README create mode 100644 challenge-129/dave-jacoby/README create mode 100644 challenge-129/david-kayal/README create mode 100644 challenge-129/ddobbelaere/README create mode 100644 challenge-129/deadmarshal/README create mode 100644 challenge-129/denis-yurashku/README create mode 100644 challenge-129/dms061/readme create mode 100644 challenge-129/donald-hunter/README create mode 100644 challenge-129/doug-schrag/README create mode 100644 challenge-129/dracos/README create mode 100644 challenge-129/duane-powell/README create mode 100644 challenge-129/duncan-c-white/README create mode 100644 challenge-129/e-choroba/README create mode 100644 challenge-129/eddy-hs/README create mode 100644 challenge-129/eric-cheung/README create mode 100644 challenge-129/fabrizio-poggi/README create mode 100644 challenge-129/feng-chang/README create mode 100644 challenge-129/finanalyst/README create mode 100644 challenge-129/finley/README create mode 100644 challenge-129/fjwhittle/README create mode 100644 challenge-129/frankivo/README create mode 100644 challenge-129/fred-zinn/README create mode 100644 challenge-129/freddie-b/README create mode 100644 challenge-129/garrett-goebel/README create mode 100644 challenge-129/giuseppe-terlizzi/README create mode 100644 challenge-129/gugod/README create mode 100644 challenge-129/gugod/rust/.gitignore create mode 100644 challenge-129/guillermo-ramos/README create mode 100644 challenge-129/gurunandan-bhat/README create mode 100644 challenge-129/gustavo-chaves/README create mode 100644 challenge-129/hatorikibble/README create mode 100644 challenge-129/hauke-d/README create mode 100644 challenge-129/henry-wong/README create mode 100644 challenge-129/hstejas/README create mode 100644 challenge-129/iangoodnight/README.md create mode 100644 challenge-129/ianrifkin/README create mode 100644 challenge-129/izifresh/README create mode 100644 challenge-129/jacques-guinnebault/README create mode 100644 challenge-129/jaime/README create mode 100644 challenge-129/jaldhar-h-vyas/README create mode 100644 challenge-129/james-smith/README.md create mode 100644 challenge-129/jan-perl/README create mode 100644 challenge-129/jaredor/README create mode 100644 challenge-129/jason-messer/README create mode 100644 challenge-129/javier-luque/README create mode 100644 challenge-129/jbourlakos/README create mode 100644 challenge-129/jcrosswh/README create mode 100644 challenge-129/jdos22/README create mode 100644 challenge-129/jeff/README create mode 100644 challenge-129/jeongoon/.gitignore create mode 100644 challenge-129/jeongoon/README create mode 100644 challenge-129/jeremy-carman/README create mode 100644 challenge-129/jim-bacon/README create mode 100644 challenge-129/jitu-keshwani/README create mode 100644 challenge-129/jj-merelo/README create mode 100644 challenge-129/jluis/README create mode 100644 challenge-129/jo-37/README create mode 100644 challenge-129/jo-christian-oterhals/README create mode 100644 challenge-129/joe-tym/README create mode 100644 challenge-129/joelle-maslak/README create mode 100644 challenge-129/john-barrett/README create mode 100644 challenge-129/jokraft/README create mode 100644 challenge-129/juan-caballero/README create mode 100644 challenge-129/julien-fiegehenn/README create mode 100644 challenge-129/juliodcs/README create mode 100644 challenge-129/kai-burgdorf/README.md create mode 100644 challenge-129/kevin-colyer/README create mode 100644 challenge-129/khalid/README create mode 100644 challenge-129/kian-meng-ang/README create mode 100644 challenge-129/kiran-kumar/README create mode 100644 challenge-129/kivanc-yazan/.gitignore create mode 100644 challenge-129/kivanc-yazan/README create mode 100644 challenge-129/kjetillll/README create mode 100644 challenge-129/kordaff/README create mode 100644 challenge-129/kostas-giannakakis/README create mode 100644 challenge-129/kurkale6ka/README create mode 100644 challenge-129/lance-wicks/README create mode 100644 challenge-129/lars-balker/README create mode 100644 challenge-129/lars-thegler/README create mode 100644 challenge-129/laurent-rosenfeld/README create mode 100644 challenge-129/leoltron/README create mode 100644 challenge-129/lubos-kolouch/README create mode 100644 challenge-129/luc65r/README create mode 100644 challenge-129/luca-ferrari/README create mode 100644 challenge-129/magnus-woldrich/README create mode 100644 challenge-129/manfredi/README create mode 100644 challenge-129/mano-chandar/README create mode 100644 challenge-129/mark-anderson/README create mode 100644 challenge-129/mark-senn/README create mode 100644 challenge-129/markjreed/README create mode 100644 challenge-129/markus-holzer/README create mode 100644 challenge-129/martin-barth/README create mode 100644 challenge-129/martin-mugeni/README create mode 100644 challenge-129/mathmauney/README create mode 100644 challenge-129/matt-latusek/README create mode 100644 challenge-129/matthew-persico/README create mode 100644 challenge-129/mattneleigh/README create mode 100644 challenge-129/maxim-kolodyazhny/README create mode 100644 challenge-129/maxim-nechaev/README create mode 100644 challenge-129/michael-hamlin/README create mode 100644 challenge-129/michael-schaap/README create mode 100644 challenge-129/mihail-iosilevitch/README create mode 100644 challenge-129/mike-accardo/README create mode 100644 challenge-129/mimosinnet/README create mode 100644 challenge-129/mohammad-anwar/README create mode 100644 challenge-129/ndelucca/README create mode 100644 challenge-129/neil-bowers/README create mode 100644 challenge-129/nick-logan/README create mode 100644 challenge-129/nikhil-prasanna/README create mode 100644 challenge-129/noud/README create mode 100644 challenge-129/nunovieira220/README create mode 100644 challenge-129/ohmycloud/README create mode 100644 challenge-129/oleksii-tsvietnov/README create mode 100644 challenge-129/olivier-delouya/README create mode 100644 challenge-129/olli-antti/README create mode 100644 challenge-129/orestis-zekai/README create mode 100644 challenge-129/ozzy/README create mode 100644 challenge-129/p6steve/README create mode 100644 challenge-129/pablo-saavedra/README create mode 100644 challenge-129/paul-fajman/README create mode 100644 challenge-129/paulo-custodio/README create mode 100644 challenge-129/pavel-jurca/README create mode 100644 challenge-129/pavel-starikov/README create mode 100644 challenge-129/pavel_kuptsov/README create mode 100644 challenge-129/perlboy1967/README create mode 100644 challenge-129/pete-houston/README create mode 100644 challenge-129/pete-sergeant/README create mode 100644 challenge-129/peter-campbell-smith/README create mode 100644 challenge-129/peter-meszaros/README create mode 100644 challenge-129/peter-scott/README create mode 100644 challenge-129/petr-roubicek/README create mode 100644 challenge-129/philippe-bruhat/README create mode 100644 challenge-129/phillip-harris/README create mode 100644 challenge-129/pjdurai/README create mode 100644 challenge-129/pkmnx/README create mode 100644 challenge-129/plis-acm/.gitignore create mode 100644 challenge-129/plis-acm/README create mode 100644 challenge-129/polettix/README create mode 100644 challenge-129/polettix/perl/.gitignore create mode 100644 challenge-129/prajith-p/README create mode 100644 challenge-129/rage311/README create mode 100644 challenge-129/rakulius/README create mode 100644 challenge-129/randy-lauen/README create mode 100644 challenge-129/richard-park/README create mode 100644 challenge-129/rnuttall/README create mode 100644 challenge-129/rob-van-dam/README create mode 100644 challenge-129/rob4t/README create mode 100644 challenge-129/roger-bell-west/README create mode 100644 challenge-129/ruben-westerberg/README create mode 100644 challenge-129/ryan-thompson/README.md create mode 100644 challenge-129/saiftynet/README create mode 100644 challenge-129/samir-parikh/README create mode 100644 challenge-129/sangeet-kar/README create mode 100644 challenge-129/sean-meininger/README create mode 100644 challenge-129/sergiotarxz/README create mode 100644 challenge-129/sgreen/README.md create mode 100644 challenge-129/shahed-nooshmand/README create mode 100644 challenge-129/shardiwal/README create mode 100644 challenge-129/shaun-pearce/README create mode 100644 challenge-129/shawak/README.md create mode 100644 challenge-129/shawn-wagner/README create mode 100644 challenge-129/simon-miner/README create mode 100644 challenge-129/simon-proctor/README create mode 100644 challenge-129/simon-reinhardt/README create mode 100644 challenge-129/sol-demuth/README create mode 100644 challenge-129/southpawgeek/README create mode 100644 challenge-129/stephanie-stein/README create mode 100644 challenge-129/steve-bresson/README create mode 100644 challenge-129/steve-rogerson/README create mode 100644 challenge-129/steven-lembark/README create mode 100644 challenge-129/steven-wilson/README create mode 100644 challenge-129/stuart-little/README create mode 100644 challenge-129/svetlana-nesterova/README create mode 100644 challenge-129/swaggboi/README create mode 100644 challenge-129/szabgab/README create mode 100644 challenge-129/ted-leahy/README create mode 100644 challenge-129/testerR59/README create mode 100644 challenge-129/tiago-stock/README create mode 100644 challenge-129/tim-smith/README create mode 100644 challenge-129/tore-andersson/README create mode 100644 challenge-129/trenton-langer/README create mode 100644 challenge-129/tyler-limkemann/README create mode 100644 challenge-129/tyler-wardhaugh/README create mode 100644 challenge-129/tyler-wardhaugh/clojure/.gitignore create mode 100644 challenge-129/tyler-wardhaugh/clojure/LICENSE create mode 100644 challenge-129/tyler-wardhaugh/clojure/README.md create mode 100644 challenge-129/tyler-wardhaugh/clojure/bb.edn create mode 100644 challenge-129/tyler-wardhaugh/clojure/deps.edn create mode 100644 challenge-129/tyler-wardhaugh/clojure/pom.xml create mode 100644 challenge-129/tyler-wardhaugh/clojure/resources/.keep create mode 100644 challenge-129/tyler-wardhaugh/python/.gitignore create mode 100644 challenge-129/ulrich-rieke/README create mode 100644 challenge-129/user-person/README create mode 100644 challenge-129/uzluisf/README create mode 100644 challenge-129/veesh-goldman/README create mode 100644 challenge-129/vinod-k/README create mode 100644 challenge-129/vinod-pal/README create mode 100644 challenge-129/vyacheslav-volgarev/README create mode 100644 challenge-129/walt-mankowski/README.md create mode 100644 challenge-129/walt-mankowski/c/.gitignore create mode 100644 challenge-129/walt-mankowski/cpp/.gitignore create mode 100644 challenge-129/walt-mankowski/python/.python-version create mode 100644 challenge-129/wambash/README create mode 100644 challenge-129/wanderdoc/README create mode 100644 challenge-129/will-west/README create mode 100644 challenge-129/william-gilmore/README create mode 100644 challenge-129/wlmb/README create mode 100644 challenge-129/x1mandi/README create mode 100644 challenge-129/xkr47/README create mode 100644 challenge-129/xliff/README create mode 100644 challenge-129/yary-h/README create mode 100644 challenge-129/yet-ebreo/README create mode 100644 challenge-129/yozen-hernandez/README create mode 100644 challenge-129/ziameraj16/README.md create mode 100644 challenge-129/ziameraj16/kotlin/META-INF/main.kotlin_module diff --git a/challenge-129/3ter/README b/challenge-129/3ter/README new file mode 100644 index 0000000000..8c594431f3 --- /dev/null +++ b/challenge-129/3ter/README @@ -0,0 +1 @@ +Solutions by 3ter. diff --git a/challenge-129/LoneWolfiNTj/README b/challenge-129/LoneWolfiNTj/README new file mode 100755 index 0000000000..bf42ad2482 --- /dev/null +++ b/challenge-129/LoneWolfiNTj/README @@ -0,0 +1 @@ +Solution by Robbie Hatley (github user "LoneWolfiNTj"). \ No newline at end of file diff --git a/challenge-129/aaron-rowe/README b/challenge-129/aaron-rowe/README new file mode 100644 index 0000000000..e14e0782fb --- /dev/null +++ b/challenge-129/aaron-rowe/README @@ -0,0 +1 @@ +Solutions by Aaron Rowe. diff --git a/challenge-129/aaron-sherman/README b/challenge-129/aaron-sherman/README new file mode 100644 index 0000000000..14ec31f570 --- /dev/null +++ b/challenge-129/aaron-sherman/README @@ -0,0 +1 @@ +Solutions by Aaron Sherman. diff --git a/challenge-129/aaronreidsmith/README b/challenge-129/aaronreidsmith/README new file mode 100644 index 0000000000..2fcfe1fdcc --- /dev/null +++ b/challenge-129/aaronreidsmith/README @@ -0,0 +1 @@ +Solution by Aaron Smith diff --git a/challenge-129/abigail/README.md b/challenge-129/abigail/README.md new file mode 100644 index 0000000000..b4279b09ff --- /dev/null +++ b/challenge-129/abigail/README.md @@ -0,0 +1,83 @@ +# Solutions by Abigail +## [Maximum Sub-Matrix][task1] + +> You are given m x n binary matrix having 0 or 1. +> +> Write a script to find out maximum sub-matrix having only 0 + + +### Examples + +~~~~ +Input : [ 1 0 0 0 1 0 ] + [ 1 1 0 0 0 1 ] + [ 1 0 0 0 0 0 ] + +Output: [ 0 0 0 ] + [ 0 0 0 ] +~~~~ + +~~~~ +Input : [ 0 0 1 1 ] + [ 0 0 0 1 ] + [ 0 0 1 0 ] + +Output: [ 0 0 ] + [ 0 0 ] + [ 0 0 ] +~~~~ + + +### Solutions +* [Perl](perl/ch-1.pl) + +### Blog +[Perl Weekly Challenge 128: Maximum Sub-Matrix][blog1] + +## [Minimum Platforms][task2] + +> You are given two arrays of arrival and departure times of trains +> at a railway station. +> +> Write a script to find out the minimum number of platforms needed +> so that no train needs to wait. + +### Examples + +~~~~ +Input: @arrivals = (11:20, 14:30) + @departutes = (11:50, 15:00) +Output: 1 +~~~~ + +The 1st arrival of train is at 11:20 and this is the only train at +the station, so you need 1 platform. Before the second arrival at +14:30, the first train left the station at 11:50, so you still need +only 1 platform. + +~~~~ +Input: @arrivals = (10:20, 11:00, 11:10, 12:20, 16:20, 19:00) + @departutes = (10:30, 13:20, 12:40, 12:50, 20:20, 21:20) +Output: 3 +~~~~ + +Between 11:00 and 12:20, there would be at least 3 trains at the +station, so we need minimum 3 platforms. + +### Solutions +* [AWK](awk/ch-2.awk) +* [C](awk/ch-2.c) +* [Lua](lua/ch-2.lua) +* [Node.js](node/ch-2.js) +* [Perl](perl/ch-2.pl) +* [Python](python/ch-2.py) + +### Blog +[Perl Weekly Challenge 128: Minimum Platforms][blog2] + + + +[task1]: https://perlweeklychallenge.org/blog/perl-weekly-challenge-128/#TASK1 +[task2]: https://perlweeklychallenge.org/blog/perl-weekly-challenge-128/#TASK2 +[blog1]: https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-128-1.html +[blog2]: https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-128-2.html diff --git a/challenge-129/adam-russell/README b/challenge-129/adam-russell/README new file mode 100644 index 0000000000..1d2e2957c5 --- /dev/null +++ b/challenge-129/adam-russell/README @@ -0,0 +1 @@ +Solution by Adam Russell diff --git a/challenge-129/adherzog/README b/challenge-129/adherzog/README new file mode 100644 index 0000000000..b59913be6c --- /dev/null +++ b/challenge-129/adherzog/README @@ -0,0 +1 @@ +Solutions by Adam Herzog. diff --git a/challenge-129/ailbhe-tweedie/README b/challenge-129/ailbhe-tweedie/README new file mode 100644 index 0000000000..36d4034b70 --- /dev/null +++ b/challenge-129/ailbhe-tweedie/README @@ -0,0 +1 @@ +Solution by Ailbhe Tweedie diff --git a/challenge-129/alex-daniel/README b/challenge-129/alex-daniel/README new file mode 100644 index 0000000000..65550789bd --- /dev/null +++ b/challenge-129/alex-daniel/README @@ -0,0 +1 @@ +Solution by Alex Daniel. diff --git a/challenge-129/alexander-karelas/README b/challenge-129/alexander-karelas/README new file mode 100644 index 0000000000..3de9fce8d9 --- /dev/null +++ b/challenge-129/alexander-karelas/README @@ -0,0 +1 @@ +Solution by Alexander Karelas diff --git a/challenge-129/alexander-pankoff/README b/challenge-129/alexander-pankoff/README new file mode 100644 index 0000000000..41f67807ac --- /dev/null +++ b/challenge-129/alexander-pankoff/README @@ -0,0 +1 @@ +Solution by Alexander Pankoff diff --git a/challenge-129/alicia-bielsa/README b/challenge-129/alicia-bielsa/README new file mode 100644 index 0000000000..c5187874c3 --- /dev/null +++ b/challenge-129/alicia-bielsa/README @@ -0,0 +1 @@ +Solution by Alicia Beilsa. diff --git a/challenge-129/andinus/README b/challenge-129/andinus/README new file mode 100644 index 0000000000..535d2258c5 --- /dev/null +++ b/challenge-129/andinus/README @@ -0,0 +1,166 @@ + ━━━━━━━━━━━━━━━ + CHALLENGE 126 + + Andinus + ━━━━━━━━━━━━━━━ + + + 2021-08-19 + + +Table of Contents +───────────────── + +Task 1 - Count Numbers +Task 2 - Minesweeper Game + + + + + +Task 1 - Count Numbers +══════════════════════ + + You are given a positive integer `$N'. + + Write a script to print count of numbers from 1 to `$N' that don’t + contain digit 1. + + Example: + ┌──── + │ Input: $N = 15 + │ Output: 8 + │ + │ There are 8 numbers between 1 and 15 that don't contain digit 1. + │ 2, 3, 4, 5, 6, 7, 8, 9. + │ + │ Input: $N = 25 + │ Output: 13 + │ + │ There are 13 numbers between 1 and 25 that don't contain digit 1. + │ 2, 3, 4, 5, 6, 7, 8, 9, 20, 22, 23, 24, 25. + └──── + + +Raku +──── + + • Program: + + Loop over `1..$N' and grep for numbers that don't have `1'. `hyper' + hints the compiler that this can be run in parallel. + + ┌──── + │ print .join: ', ' with (1..$N).hyper.grep(*.comb.grep(1).elems == 0); + │ put '.'; + └──── + + +C +─ + + • Program: + + `argv' holds the input & `argc' holds the number of inputs. The input + should be a single integer so `argc' should be equal to 2. After + checking for that, we check if valid integer was passed. + + After checks, we loop over all numbers from 1 to `num' (passed value) + and check if they contain digit `1'. The check is performed by + converting `num' to a string and matching for '1' in the string. If we + find it then we set the flag to false and don't print the number, + otherwise we print it. + + ┌──── + │ if (argc != 2) { + │ puts("Usage: ./ch-1 "); + │ exit(0); + │ } + │ + │ const char *errstr; + │ int num = strtonum(argv[1], 1, INT_MAX, &errstr); + │ if (errstr != NULL) + │ errx(1, "number is %s: %s", errstr, argv[1]); + │ + │ for (int idx = 1; idx <= num; idx++) { + │ bool take = true; + │ + │ int str_size = 1 + snprintf(NULL, 0, "%d", idx); + │ char *num_str = calloc(str_size, sizeof(char)); + │ snprintf(num_str, str_size, "%d", idx); + │ + │ for (int x = 0; num_str[x] != '\0'; x++) + │ if (num_str[x] == '1') take = false; + │ free(num_str); + │ + │ if (take == true) printf("%d ", idx); + │ } + │ printf("\n"); + └──── + + +Task 2 - Minesweeper Game +═════════════════════════ + + You are given a rectangle with points marked with either x or *. + Please consider the x as a land mine. + + Write a script to print a rectangle with numbers and x as in the + Minesweeper game. + + A number in a square of the minesweeper game indicates the + number of mines within the neighbouring squares (usually + 8), also implies that there are no bombs on that square. + + Example: + ┌──── + │ Input: + │ x * * * x * x x x x + │ * * * * * * * * * x + │ * * * * x * x * x * + │ * * * x x * * * * * + │ x * * * x * * * * x + │ + │ Output: + │ x 1 0 1 x 2 x x x x + │ 1 1 0 2 2 4 3 5 5 x + │ 0 0 1 3 x 3 x 2 x 2 + │ 1 1 1 x x 4 1 2 2 2 + │ x 1 1 3 x 2 0 0 1 x + └──── + + +Raku +──── + + • Program: + + `@rect' holds the challenge grids and `@grids' holds the solution. We + loop over every cell and if it's not a land mine then we loop over + it's neighbors and find the number of neighboring land mines and set + it's value. + + The neighbors is returned by `neighbors' subroutine which is adapted + from `Octans::Neighbors' (projects/octans) which was adapted from my + 2020 AoC day 11's solution. + + ┌──── + │ my @rect = $input.IO.lines.map(*.words.cache); + │ die "Not rectangle" unless [==] @rect.map(*.elems); + │ + │ my @grid; + │ for 0 .. @rect.end -> $r { + │ for 0 .. @rect[$r].end -> $c { + │ given @rect[$r][$c] { + │ when "x" { @grid[$r][$c] = @rect[$r][$c] } + │ when "*" { + │ @grid[$r][$c] = 0; + │ for neighbors(@rect, $r, $c).List -> $pos { + │ @grid[$r][$c]++ if @rect[$pos[0]][$pos[1]] eq "x"; + │ } + │ } + │ } + │ } + │ } + │ .put for @grid; + └──── diff --git a/challenge-129/andrezgz/README b/challenge-129/andrezgz/README new file mode 100644 index 0000000000..f4fd0da88e --- /dev/null +++ b/challenge-129/andrezgz/README @@ -0,0 +1 @@ +Solution by Andrezgz diff --git a/challenge-129/anton-fedotov/README b/challenge-129/anton-fedotov/README new file mode 100644 index 0000000000..f7c4f6deed --- /dev/null +++ b/challenge-129/anton-fedotov/README @@ -0,0 +1 @@ +Solutions by Anton Fedotov. diff --git a/challenge-129/antonio-gamiz/README b/challenge-129/antonio-gamiz/README new file mode 100644 index 0000000000..1f5ed5871a --- /dev/null +++ b/challenge-129/antonio-gamiz/README @@ -0,0 +1 @@ +Solution by Antonio Gamiz diff --git a/challenge-129/arne-sommer/README b/challenge-129/arne-sommer/README new file mode 100644 index 0000000000..b5d88e4df4 --- /dev/null +++ b/challenge-129/arne-sommer/README @@ -0,0 +1 @@ +Solution by Arne Sommer. diff --git a/challenge-129/arpad-toth/README b/challenge-129/arpad-toth/README new file mode 100644 index 0000000000..6661dd82c1 --- /dev/null +++ b/challenge-129/arpad-toth/README @@ -0,0 +1 @@ +Solution by Arpad Toth diff --git a/challenge-129/ash/README b/challenge-129/ash/README new file mode 100644 index 0000000000..318b1bfb41 --- /dev/null +++ b/challenge-129/ash/README @@ -0,0 +1 @@ +Solutions by Andrew Shitov diff --git a/challenge-129/athanasius/README b/challenge-129/athanasius/README new file mode 100644 index 0000000000..cc357fda4a --- /dev/null +++ b/challenge-129/athanasius/README @@ -0,0 +1 @@ +Solution by Athanasius diff --git a/challenge-129/aubrey-quarcoo/README b/challenge-129/aubrey-quarcoo/README new file mode 100644 index 0000000000..8e63a2c1f5 --- /dev/null +++ b/challenge-129/aubrey-quarcoo/README @@ -0,0 +1 @@ +Solution by Aubrey Quarcoo diff --git a/challenge-129/aviral-goel/README b/challenge-129/aviral-goel/README new file mode 100644 index 0000000000..e64ee14512 --- /dev/null +++ b/challenge-129/aviral-goel/README @@ -0,0 +1 @@ +Solutions by Aviral Goel. diff --git a/challenge-129/belmark-caday/README b/challenge-129/belmark-caday/README new file mode 100644 index 0000000000..6726590965 --- /dev/null +++ b/challenge-129/belmark-caday/README @@ -0,0 +1 @@ +Solutions by Belmark Caday. diff --git a/challenge-129/ben-davies/README.md b/challenge-129/ben-davies/README.md new file mode 100644 index 0000000000..77158344c9 --- /dev/null +++ b/challenge-129/ben-davies/README.md @@ -0,0 +1 @@ +Solution by Ben Davies diff --git a/challenge-129/bill-palmer/README b/challenge-129/bill-palmer/README new file mode 100644 index 0000000000..08ec849a41 --- /dev/null +++ b/challenge-129/bill-palmer/README @@ -0,0 +1 @@ +Solution by Bill Palmer. diff --git a/challenge-129/bkb/README b/challenge-129/bkb/README new file mode 100644 index 0000000000..4721993bb3 --- /dev/null +++ b/challenge-129/bkb/README @@ -0,0 +1 @@ +Solution by Ben Bullock. diff --git a/challenge-129/bob-kleemann/README b/challenge-129/bob-kleemann/README new file mode 100644 index 0000000000..78680e4035 --- /dev/null +++ b/challenge-129/bob-kleemann/README @@ -0,0 +1 @@ +Solution by Bob Kleemann diff --git a/challenge-129/bob-lied/README b/challenge-129/bob-lied/README new file mode 100644 index 0000000000..bbaa2cbbcb --- /dev/null +++ b/challenge-129/bob-lied/README @@ -0,0 +1,3 @@ +Solutions to weekly challenge 116 by Bob Lied. + +https://perlweeklychallenge.org/blog/perl-weekly-challenge-116/ diff --git a/challenge-129/brtastic/README b/challenge-129/brtastic/README new file mode 100644 index 0000000000..0fbe79fd6f --- /dev/null +++ b/challenge-129/brtastic/README @@ -0,0 +1 @@ +Solutions by Bartosz Jarzyna. diff --git a/challenge-129/bruce-gray/README b/challenge-129/bruce-gray/README new file mode 100644 index 0000000000..5d0deab51b --- /dev/null +++ b/challenge-129/bruce-gray/README @@ -0,0 +1 @@ +Solutions by Bruce Gray. diff --git a/challenge-129/bruno-ramos/README b/challenge-129/bruno-ramos/README new file mode 100644 index 0000000000..9d631dad8f --- /dev/null +++ b/challenge-129/bruno-ramos/README @@ -0,0 +1 @@ +Solutions by Bruno Ramos. diff --git a/challenge-129/burkhard-nickels/README b/challenge-129/burkhard-nickels/README new file mode 100644 index 0000000000..f5e16bb98b --- /dev/null +++ b/challenge-129/burkhard-nickels/README @@ -0,0 +1 @@ +Solutions by Burkhard Nickels. diff --git a/challenge-129/bwva/README b/challenge-129/bwva/README new file mode 100644 index 0000000000..ee6a7d7dc1 --- /dev/null +++ b/challenge-129/bwva/README @@ -0,0 +1 @@ +Solution(s) by bwva (Bruce Van Allen) diff --git a/challenge-129/cheok-yin-fung/README b/challenge-129/cheok-yin-fung/README new file mode 100644 index 0000000000..4413b13ada --- /dev/null +++ b/challenge-129/cheok-yin-fung/README @@ -0,0 +1 @@ +Solutions by Cheok-Yin Fung. diff --git a/challenge-129/christian-jaeger/README b/challenge-129/christian-jaeger/README new file mode 100644 index 0000000000..4ef4f11c10 --- /dev/null +++ b/challenge-129/christian-jaeger/README @@ -0,0 +1 @@ +Solution by Christian Jaeger diff --git a/challenge-129/cliveholloway/README b/challenge-129/cliveholloway/README new file mode 100644 index 0000000000..b69201296e --- /dev/null +++ b/challenge-129/cliveholloway/README @@ -0,0 +1 @@ +Solution by Clive Holloway diff --git a/challenge-129/colin-crain/README b/challenge-129/colin-crain/README new file mode 100644 index 0000000000..2a5d87e97d --- /dev/null +++ b/challenge-129/colin-crain/README @@ -0,0 +1 @@ +Solutions by Colin Crain. diff --git a/challenge-129/craig/README b/challenge-129/craig/README new file mode 100644 index 0000000000..18088481eb --- /dev/null +++ b/challenge-129/craig/README @@ -0,0 +1 @@ +Solutions by Craig. diff --git a/challenge-129/creewick/README b/challenge-129/creewick/README new file mode 100644 index 0000000000..c490e4fb80 --- /dev/null +++ b/challenge-129/creewick/README @@ -0,0 +1 @@ +Solutions by Creewick. diff --git a/challenge-129/cristian-heredia/README b/challenge-129/cristian-heredia/README new file mode 100644 index 0000000000..c53da8a54c --- /dev/null +++ b/challenge-129/cristian-heredia/README @@ -0,0 +1 @@ +Solutions by Cristina Heredia. diff --git a/challenge-129/daniel-mantovani/README b/challenge-129/daniel-mantovani/README new file mode 100644 index 0000000000..ed538216f2 --- /dev/null +++ b/challenge-129/daniel-mantovani/README @@ -0,0 +1 @@ +Solution by Daniel Mantovani diff --git a/challenge-129/daniel-mita/README b/challenge-129/daniel-mita/README new file mode 100644 index 0000000000..37339f491f --- /dev/null +++ b/challenge-129/daniel-mita/README @@ -0,0 +1 @@ +Solution by Daniel Mita diff --git a/challenge-129/darren-bottin/README b/challenge-129/darren-bottin/README new file mode 100644 index 0000000000..6c792afe8e --- /dev/null +++ b/challenge-129/darren-bottin/README @@ -0,0 +1 @@ +Solutions by Darren Bottin. diff --git a/challenge-129/dave-cross/README b/challenge-129/dave-cross/README new file mode 100644 index 0000000000..04b1b0623b --- /dev/null +++ b/challenge-129/dave-cross/README @@ -0,0 +1 @@ +Solution by Dave Cross diff --git a/challenge-129/dave-jacoby/README b/challenge-129/dave-jacoby/README new file mode 100644 index 0000000000..7c06689f16 --- /dev/null +++ b/challenge-129/dave-jacoby/README @@ -0,0 +1 @@ +Solution by Dave Jacoby diff --git a/challenge-129/david-kayal/README b/challenge-129/david-kayal/README new file mode 100644 index 0000000000..66f8615260 --- /dev/null +++ b/challenge-129/david-kayal/README @@ -0,0 +1 @@ +Solution by David Kayal diff --git a/challenge-129/ddobbelaere/README b/challenge-129/ddobbelaere/README new file mode 100644 index 0000000000..36f8cdcd67 --- /dev/null +++ b/challenge-129/ddobbelaere/README @@ -0,0 +1 @@ +Solution by Dieter Dobbelaere diff --git a/challenge-129/deadmarshal/README b/challenge-129/deadmarshal/README new file mode 100644 index 0000000000..243097dede --- /dev/null +++ b/challenge-129/deadmarshal/README @@ -0,0 +1 @@ +Solution by Ali Moradi \ No newline at end of file diff --git a/challenge-129/denis-yurashku/README b/challenge-129/denis-yurashku/README new file mode 100644 index 0000000000..2fea994000 --- /dev/null +++ b/challenge-129/denis-yurashku/README @@ -0,0 +1 @@ +Solutions by Denis Yurashku. diff --git a/challenge-129/dms061/readme b/challenge-129/dms061/readme new file mode 100644 index 0000000000..e2684c7d25 --- /dev/null +++ b/challenge-129/dms061/readme @@ -0,0 +1,8 @@ +Solutions by David Schwartz +Last updated: 5/16/2021 + +Contains: + Solutions for questions 1 and 2 in perl. + +The folders also contain examples of output generated from running the program. + diff --git a/challenge-129/donald-hunter/README b/challenge-129/donald-hunter/README new file mode 100644 index 0000000000..2eef878f17 --- /dev/null +++ b/challenge-129/donald-hunter/README @@ -0,0 +1 @@ +Solutions by Donald Hunter. diff --git a/challenge-129/doug-schrag/README b/challenge-129/doug-schrag/README new file mode 100644 index 0000000000..bf8a10ffb4 --- /dev/null +++ b/challenge-129/doug-schrag/README @@ -0,0 +1 @@ +Solution by Doug Schrag diff --git a/challenge-129/dracos/README b/challenge-129/dracos/README new file mode 100644 index 0000000000..a9a6517a03 --- /dev/null +++ b/challenge-129/dracos/README @@ -0,0 +1 @@ +Solutions by Matthew Somerville. diff --git a/challenge-129/duane-powell/README b/challenge-129/duane-powell/README new file mode 100644 index 0000000000..3445422743 --- /dev/null +++ b/challenge-129/duane-powell/README @@ -0,0 +1 @@ +Solutions by Duane Powell. diff --git a/challenge-129/duncan-c-white/README b/challenge-129/duncan-c-white/README new file mode 100644 index 0000000000..aaac2e3ac2 --- /dev/null +++ b/challenge-129/duncan-c-white/README @@ -0,0 +1,60 @@ +Task 1: "Maximum Sub-Matrix + +You are given m x n binary matrix having 0 or 1 elements. + +Write a script to find out maximum sub-matrix having only 0. + +Example 1: + +Input : [ 1 0 0 0 1 0 ] + [ 1 1 0 0 0 1 ] + [ 1 0 0 0 0 0 ] + +Output: [ 0 0 0 ] + [ 0 0 0 ] + +Example 2: + +Input : [ 0 0 1 1 ] + [ 0 0 0 1 ] + [ 0 0 1 0 ] + +Output: [ 0 0 ] + [ 0 0 ] + [ 0 0 ] +" + +My notes: dull but easy. No opportunity for cleverness. + + +Task 2: "Minimum Platforms + +You are given two arrays of arrival and departure times of trains at a +railway station. + +Write a script to find out the minimum number of platforms needed so +that no train needs to wait. + +Example 1: + +Input: @arrivals = (11:20, 14:30) + @departures = (11:50, 15:00) +Output: 1 + +The 1st arrival of train is at 11:20 and this is the only train at the station, +so you need 1 platform. Before the second arrival at 14:30, the first train +left the station at 11:50, so you still need only 1 platform. + +Example 2: + +Input: @arrivals = (10:20, 11:00, 11:10, 12:20, 16:20, 19:00) + @departures = (10:30, 13:20, 12:40, 12:50, 20:20, 21:20) +Output: 3 + +Between 12:20 and 12:40, there would be at least 3 trains at the station, +so we need minimum 3 platforms." + +My notes: nice problem - looks like a tiny discrete event simulation. +Build a DIARY: an array of (time, type) pairs - where type == 'A' for +an arrival, or type == 'D' for a departure. Then walk the diary, +simulating "train arrival" and "train departure" events. diff --git a/challenge-129/e-choroba/README b/challenge-129/e-choroba/README new file mode 100644 index 0000000000..efff637bcb --- /dev/null +++ b/challenge-129/e-choroba/README @@ -0,0 +1 @@ +Solutions by E. Choroba. diff --git a/challenge-129/eddy-hs/README b/challenge-129/eddy-hs/README new file mode 100644 index 0000000000..0ed51d222d --- /dev/null +++ b/challenge-129/eddy-hs/README @@ -0,0 +1 @@ +Solution by Eddy HS diff --git a/challenge-129/eric-cheung/README b/challenge-129/eric-cheung/README new file mode 100644 index 0000000000..1bf6db4498 --- /dev/null +++ b/challenge-129/eric-cheung/README @@ -0,0 +1 @@ +Solutions by Eric Cheung. diff --git a/challenge-129/fabrizio-poggi/README b/challenge-129/fabrizio-poggi/README new file mode 100644 index 0000000000..3c17b29182 --- /dev/null +++ b/challenge-129/fabrizio-poggi/README @@ -0,0 +1 @@ +Solutions by Fabrizio Poggi. diff --git a/challenge-129/feng-chang/README b/challenge-129/feng-chang/README new file mode 100644 index 0000000000..74e56de3ed --- /dev/null +++ b/challenge-129/feng-chang/README @@ -0,0 +1 @@ +Solutions by Feng Chang. diff --git a/challenge-129/finanalyst/README b/challenge-129/finanalyst/README new file mode 100644 index 0000000000..15f7652e32 --- /dev/null +++ b/challenge-129/finanalyst/README @@ -0,0 +1 @@ +Solution by Richard Hainsworth, aka finanalyst diff --git a/challenge-129/finley/README b/challenge-129/finley/README new file mode 100644 index 0000000000..f08a121076 --- /dev/null +++ b/challenge-129/finley/README @@ -0,0 +1 @@ +Solution by Finley diff --git a/challenge-129/fjwhittle/README b/challenge-129/fjwhittle/README new file mode 100644 index 0000000000..7dcc95e189 --- /dev/null +++ b/challenge-129/fjwhittle/README @@ -0,0 +1 @@ +Solution by Francis Whittle diff --git a/challenge-129/frankivo/README b/challenge-129/frankivo/README new file mode 100644 index 0000000000..681b15b36c --- /dev/null +++ b/challenge-129/frankivo/README @@ -0,0 +1 @@ +Solution by Frank Oosterhuis. diff --git a/challenge-129/fred-zinn/README b/challenge-129/fred-zinn/README new file mode 100644 index 0000000000..17bac4f094 --- /dev/null +++ b/challenge-129/fred-zinn/README @@ -0,0 +1 @@ +Solution by Fred Zinn diff --git a/challenge-129/freddie-b/README b/challenge-129/freddie-b/README new file mode 100644 index 0000000000..823d7474b5 --- /dev/null +++ b/challenge-129/freddie-b/README @@ -0,0 +1 @@ +Solution by Freddie B diff --git a/challenge-129/garrett-goebel/README b/challenge-129/garrett-goebel/README new file mode 100644 index 0000000000..a8aa246dbb --- /dev/null +++ b/challenge-129/garrett-goebel/README @@ -0,0 +1 @@ +Solution by Garrett Goebel diff --git a/challenge-129/giuseppe-terlizzi/README b/challenge-129/giuseppe-terlizzi/README new file mode 100644 index 0000000000..0bff2a945c --- /dev/null +++ b/challenge-129/giuseppe-terlizzi/README @@ -0,0 +1 @@ +Solutions by Giuseppe Di Terlizzi. diff --git a/challenge-129/gugod/README b/challenge-129/gugod/README new file mode 100644 index 0000000000..509fd4c50c --- /dev/null +++ b/challenge-129/gugod/README @@ -0,0 +1 @@ +Solutions by Kang-min Liu. diff --git a/challenge-129/gugod/rust/.gitignore b/challenge-129/gugod/rust/.gitignore new file mode 100644 index 0000000000..ac77297bfe --- /dev/null +++ b/challenge-129/gugod/rust/.gitignore @@ -0,0 +1,2 @@ +ch-1 +ch-2 diff --git a/challenge-129/guillermo-ramos/README b/challenge-129/guillermo-ramos/README new file mode 100644 index 0000000000..a39eb01bff --- /dev/null +++ b/challenge-129/guillermo-ramos/README @@ -0,0 +1 @@ +Solution by Guillermo Ramos. diff --git a/challenge-129/gurunandan-bhat/README b/challenge-129/gurunandan-bhat/README new file mode 100644 index 0000000000..495f4cfafa --- /dev/null +++ b/challenge-129/gurunandan-bhat/README @@ -0,0 +1 @@ +Solutions by Gurunandan Bhat. diff --git a/challenge-129/gustavo-chaves/README b/challenge-129/gustavo-chaves/README new file mode 100644 index 0000000000..a66bbbf8a3 --- /dev/null +++ b/challenge-129/gustavo-chaves/README @@ -0,0 +1 @@ +Solution by Gustavo Chaves diff --git a/challenge-129/hatorikibble/README b/challenge-129/hatorikibble/README new file mode 100644 index 0000000000..51a9cd4411 --- /dev/null +++ b/challenge-129/hatorikibble/README @@ -0,0 +1 @@ +Solution by Peter Mayr diff --git a/challenge-129/hauke-d/README b/challenge-129/hauke-d/README new file mode 100644 index 0000000000..e201aa0abc --- /dev/null +++ b/challenge-129/hauke-d/README @@ -0,0 +1 @@ +Solutions by Hauke Dämpfling. diff --git a/challenge-129/henry-wong/README b/challenge-129/henry-wong/README new file mode 100644 index 0000000000..3d63a6f0be --- /dev/null +++ b/challenge-129/henry-wong/README @@ -0,0 +1 @@ +Solution by Henry Wong diff --git a/challenge-129/hstejas/README b/challenge-129/hstejas/README new file mode 100644 index 0000000000..969c5c0569 --- /dev/null +++ b/challenge-129/hstejas/README @@ -0,0 +1 @@ +Solution by Tejas diff --git a/challenge-129/iangoodnight/README.md b/challenge-129/iangoodnight/README.md new file mode 100644 index 0000000000..2a4a23a28c --- /dev/null +++ b/challenge-129/iangoodnight/README.md @@ -0,0 +1 @@ +Solution by Ian Goodnight diff --git a/challenge-129/ianrifkin/README b/challenge-129/ianrifkin/README new file mode 100644 index 0000000000..2d26297fb9 --- /dev/null +++ b/challenge-129/ianrifkin/README @@ -0,0 +1 @@ +Solution by Ian Rifkin. \ No newline at end of file diff --git a/challenge-129/izifresh/README b/challenge-129/izifresh/README new file mode 100644 index 0000000000..aedce7c408 --- /dev/null +++ b/challenge-129/izifresh/README @@ -0,0 +1 @@ +Solution by izifresh \ No newline at end of file diff --git a/challenge-129/jacques-guinnebault/README b/challenge-129/jacques-guinnebault/README new file mode 100644 index 0000000000..9d3e7c037f --- /dev/null +++ b/challenge-129/jacques-guinnebault/README @@ -0,0 +1 @@ +Solution by Jacques Guinnebault. diff --git a/challenge-129/jaime/README b/challenge-129/jaime/README new file mode 100644 index 0000000000..007cb58459 --- /dev/null +++ b/challenge-129/jaime/README @@ -0,0 +1,59 @@ +# Task #1 + +Write a script to display months from the year 1900 to 2019 where you +find 5 weekends i.e. 5 Friday, 5 Saturday and 5 Sunday. + +## Solution + +Months that contain five full weekends have 31 days and start on a Friday. Use `cal` to display March 2019 as an example. + +``` +#$ cal -h -m 3 2019 # cal is a UNIX utility + March 2019 +Su Mo Tu We Th Fr Sa + 1 2 + 3 4 5 6 7 8 9 +10 11 12 13 14 15 16 +17 18 19 20 21 22 23 +24 25 26 27 28 29 30 +31 +``` + +The solution runs `cal` and displays months that match this unique +layout. + +# Task #2 + +Write a script that can wrap the given paragraph at a specified column +using the greedy algorithm. + +A simple way to do word wrapping is to use a greedy algorithm that +puts as many words on a line as possible, then moving on to the next +line to do the same until there are no more words left to place. This +method is used by many modern word processors, such as OpenOffice.org +Writer and Microsoft Word[citation needed]. This algorithm always uses +the minimum possible number of lines but may lead to lines of widely +varying lengths. The following pseudocode implements this algorithm: + +``` +SpaceLeft := LineWidth +for each Word in Text + if (Width(Word) + SpaceWidth) > SpaceLeft + insert line break before Word in Text + SpaceLeft := LineWidth - Width(Word) + else + SpaceLeft := SpaceLeft - (Width(Word) + SpaceWidth) +``` + +Where LineWidth is the width of a line, SpaceLeft is the remaining +width of space on the line to fill, SpaceWidth is the width of a +single space character, Text is the input text to iterate over and +Word is a word in this text. + +## Solution + +The solution follows the recommended pseudocode. Minor improvements +avoid trailing whitespace. + +The script uses `Text::ParseWords::shellwords` from the standard +library to extract chunks of words from ``. diff --git a/challenge-129/jaldhar-h-vyas/README b/challenge-129/jaldhar-h-vyas/README new file mode 100644 index 0000000000..7dce927eca --- /dev/null +++ b/challenge-129/jaldhar-h-vyas/README @@ -0,0 +1 @@ +Solution by Jaldhar H. Vyas diff --git a/challenge-129/james-smith/README.md b/challenge-129/james-smith/README.md new file mode 100644 index 0000000000..be4fb1ed86 --- /dev/null +++ b/challenge-129/james-smith/README.md @@ -0,0 +1,154 @@ +# Perl Weekly Challenge #128 + +You can find more information about this weeks, and previous weeks challenges at: + + https://perlweeklychallenge.org/ + +If you are not already doing the challenge - it is a good place to practise your +**perl** or **raku**. If it is not **perl** or **raku** you develop in - you can +submit solutions in whichever language you feel comfortable with. + +You can find the solutions here on github at: + +https://github.com/drbaggy/perlweeklychallenge-club/tree/master/challenge-128/james-smith/perl + +# Task 1 - Maximum Sub-Matrix + +***You are given m x n binary matrix having 0 or 1 in each cell. Write a script to find out maximum sub-matrix having only 0*** + +## Ambiguity + +There may be multiple solutions (e.g. in Example 1 depending on how you write the algorithm) so rather than returning the matrix - my tests will be on the area of the matrix + +## The solution + +Initialy this looks like an `O(n^4)` problem - you would need to scan the area to the right and below `O(n^2)` for a given cell `O(n^2)`. But with a bit of preprocessing - we can remove at least one of these loops - so the challenge becomes `O(n^3)`. + +### Preprocessing the matrix. + +To remove the inner loop - we can pre-compute this - the number of 0s in a continuouse line starting at the point and going right. For the first matrix we get + +``` + [ 1 0 0 0 1 0 ] [ 0 3 2 1 0 1 ] + [ 1 1 0 0 0 1 ] -> [ 0 0 3 2 1 0 ] + [ 1 0 0 0 0 0 ] [ 0 5 4 3 2 1 ] +``` + +The code that does that is this.... + +```perl + ## Last column 1s become 0s, 0s become 1s + my @runs = map { [1 - $_->[-1]] } @rows; + + ## Remaining columns we are working backwards along the rows + ## Column is 0 if the matrix contains a 1 - o/w it is 1 more + ## than the cell to the right (which is the first cell in the row) + ## we use unshift to extend each row left... + foreach my $i (reverse 0..$w-1) { + unshift @{$runs[$_]}, $rows[$_][$i] ? 0 : $runs[$_][0]+1 foreach 0..$h; + } +``` + +We then have the `O(n^3)` to find the maximum area. + +For each cell we work out the maximum area of any rectangle. + +For the first row it is just `$run[$y][$x]`. For subsequent rows it is the minimum of all `$run[$y][$x]` we have seen times height + +```perl + my $max_w = 1e9; + foreach my $j ( $y .. $h ) { + last unless $runs[$j][$x]; ## We have a 1 in the rectangle quit + $max_w = $runs[$j][$x] if $runs[$j][$x] < $max_w; + my $area = $max_w * ( $j - $y + 1 ); + $max_area = [ $area, $max_w, $j - $y + 1 ] if $area > $max_area->[0]; + } +``` + +The variable `$max_area` contains three values `$max_area`, `$max_w`, `$max_h` - the latter two if you wish to draw the empty matrix..... + +Put it all together we have... +```perl +sub find_empty { + my @runs = map { [ 1 - $_->[-1] ] } my @rows = @{$_[0]}; + my ( $h, $w ) = ( @rows - 1, @{$rows[0]} - 1 ); + + foreach my $i ( reverse 0 .. $w - 1 ) { + unshift @{$runs[$_]}, $rows[$_][$i] ? 0 : $runs[$_][0] + 1 foreach 0 .. $h; + } + + my $max_area = [ 0, 0 , 0 ]; + foreach my $x ( 0 .. $w ) { + foreach my $y ( 0 .. $h ) { + next unless $runs[$y][$x]; + my $max_w = 1e9; + foreach my $j ( $y .. $h ) { + last unless $runs[$j][$x]; + $max_w = $runs[$j][$x] if $runs[$j][$x] < $max_w; + my $area = $max_w * ( $j - $y + 1 ); + $max_area = [ $area, $max_w, $j - $y + 1 ] if $area > $max_area->[0]; + } + } + } + + return $max_area; +} +``` + + +# Task 2 - Minimum Platforms + +***You are given two arrays of arrival and departure times of trains at a railway station. Write a script to find out the minimum number of platforms needed so that no train needs to wait.*** + +## Background + +As mentioned this is effectively my day job again. To display information about genomic features and whether or not they overlapped a particular region (to know whether to display them or not) or to bump them for display (to make sure features didn't merge/overlap) which is exactly this problem. This one is in someways easier as we have the trains already sorted into date order. If we didn't sorting them would make life a lot easier! - not so easy on a genome browser where there may be 10s of thousands of features in a region. + +This is actually more my brother's line of work - he works for what was BR computing - and one of his jobs is just this. For a while BR had 66 minutes in an hour to allow them to get trains in and out of one of the large busy stations. + +## Solution + +As we are assuming that starts are in time order we don't have to do a 2-sided test for overlaps. + +So foreach train we loop through all platforms - seeing if there is a platform with a slot in it (i.e. the last train has already left the platform). If there isn't we make a new platform and add the train to it, and repeat. All we do is store the last departure time for each platform, and because 24-hr date strings alphabetic/time order are the same - we only need to use the string comparison operator (in this case `gt`) to compare times. + +Here we use a little used concept in perl the label "`OUTER`" - this allows our inner loop to break out of it's own `foreach` loop and also jump to the next interation of it's parent loop. + +```perl +sub bump_platform { + my @arr = @{shift @_}; + my @dep = @{shift @_}; + my @platforms = (); + OUTER: foreach my $st (@arr) { + foreach(0..$#platforms) { + ($platforms[$_] = shift @dep) && (next OUTER) + if $st gt $platforms[$_]; + } + push @platforms,shift @dep; + } + return scal