From 31c872b0effb42ea88b102e3f60ab89e4eb901ce Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 21 Feb 2022 09:59:32 +0000 Subject: - Added template for week 153. --- challenge-153/0rir/README | 2 + challenge-153/2colours/README | 1 + challenge-153/3ter/README | 1 + challenge-153/LoneWolfiNTj/README | 1 + challenge-153/aaron-rowe/README | 1 + challenge-153/aaron-sherman/README | 1 + challenge-153/aaronreidsmith/README | 1 + challenge-153/abigail/README.md | 24 +++ challenge-153/adam-russell/README | 1 + challenge-153/adherzog/README | 1 + challenge-153/ailbhe-tweedie/README | 1 + challenge-153/alex-daniel/README | 1 + challenge-153/alexander-karelas/README | 1 + challenge-153/alexander-pankoff/README | 1 + challenge-153/alicia-bielsa/README | 1 + challenge-153/andinus/README | 51 +++++ challenge-153/andrezgz/README | 1 + challenge-153/anton-fedotov/README | 1 + challenge-153/antonio-gamiz/README | 1 + challenge-153/arne-sommer/README | 1 + challenge-153/arpad-toth/README | 1 + challenge-153/ash/README | 1 + challenge-153/athanasius/README | 1 + challenge-153/aubrey-quarcoo/README | 1 + challenge-153/aviral-goel/README | 1 + challenge-153/belmark-caday/README | 1 + challenge-153/ben-davies/README.md | 1 + challenge-153/bill-palmer/README | 1 + challenge-153/bkb/README | 1 + challenge-153/bob-kleemann/README | 1 + challenge-153/bob-lied/README | 3 + challenge-153/brtastic/README | 1 + challenge-153/bruce-gray/README | 1 + challenge-153/bruno-ramos/README | 1 + challenge-153/burkhard-nickels/README | 1 + challenge-153/bwva/README | 1 + challenge-153/cheok-yin-fung/README | 1 + challenge-153/christian-jaeger/README | 1 + challenge-153/cliveholloway/README | 1 + challenge-153/colin-crain/README | 1 + challenge-153/conor-hoekstra/README | 1 + challenge-153/craig/README | 1 + challenge-153/creewick/README | 1 + challenge-153/cristian-heredia/README | 1 + challenge-153/cybersnyder/README | 1 + challenge-153/daniel-mantovani/README | 1 + challenge-153/daniel-mita/README | 1 + challenge-153/darren-bottin/README | 1 + challenge-153/dave-cross/README | 1 + challenge-153/dave-jacoby/README | 1 + challenge-153/david-kayal/README | 1 + challenge-153/david-santiago/README | 1 + challenge-153/ddobbelaere/README | 1 + challenge-153/deadmarshal/README | 1 + challenge-153/denis-yurashku/README | 1 + challenge-153/dms061/readme | 8 + challenge-153/donald-hunter/README | 1 + challenge-153/doug-schrag/README | 1 + challenge-153/dracos/README | 1 + challenge-153/duane-powell/README | 1 + challenge-153/duncan-c-white/README | 61 ++++++ challenge-153/e-choroba/README | 1 + challenge-153/ealvar3z/README | 1 + challenge-153/eddy-hs/README | 1 + challenge-153/eric-cheung/README | 1 + challenge-153/fabrizio-poggi/README | 1 + challenge-153/feng-chang/README | 1 + challenge-153/finanalyst/README | 1 + challenge-153/finley/README | 1 + challenge-153/fjwhittle/README | 1 + challenge-153/frankivo/README | 1 + challenge-153/fred-zinn/README | 1 + challenge-153/freddie-b/README | 1 + challenge-153/garrett-goebel/README | 1 + challenge-153/giuseppe-terlizzi/README | 1 + challenge-153/gugod/README | 1 + challenge-153/gugod/rust/.gitignore | 2 + challenge-153/guillermo-ramos/README | 1 + challenge-153/gurunandan-bhat/README | 1 + challenge-153/gustavo-chaves/README | 1 + challenge-153/hatorikibble/README | 1 + challenge-153/hauke-d/README | 1 + challenge-153/henry-wong/README | 1 + challenge-153/hstejas/README | 1 + challenge-153/iangoodnight/README.md | 1 + challenge-153/ianrifkin/README | 1 + challenge-153/izifresh/README | 1 + challenge-153/jacques-guinnebault/README | 1 + challenge-153/jaime/README | 59 ++++++ challenge-153/jake/README | 1 + challenge-153/jaldhar-h-vyas/README | 1 + challenge-153/james-raspass/README | 1 + challenge-153/james-smith/README.md | 158 +++++++++++++++ challenge-153/jan-perl/README | 1 + challenge-153/jaredor/README | 1 + challenge-153/jason-messer/README | 1 + challenge-153/javier-luque/README | 1 + challenge-153/jbourlakos/README | 1 + challenge-153/jcrosswh/README | 1 + challenge-153/jdos22/README | 1 + challenge-153/jeff/README | 1 + challenge-153/jeongoon/.gitignore | 5 + challenge-153/jeongoon/README | 1 + challenge-153/jeremy-carman/README | 1 + challenge-153/jim-bacon/README | 1 + challenge-153/jitu-keshwani/README | 1 + challenge-153/jj-merelo/README | 1 + challenge-153/jluis/README | 1 + challenge-153/jo-37/README | 1 + challenge-153/jo-christian-oterhals/README | 1 + challenge-153/joe-tym/README | 1 + challenge-153/joelle-maslak/README | 1 + challenge-153/john-barrett/README | 1 + challenge-153/jokraft/README | 1 + challenge-153/juan-caballero/README | 1 + challenge-153/julien-fiegehenn/README | 1 + challenge-153/juliodcs/README | 1 + challenge-153/kai-burgdorf/README.md | 1 + challenge-153/kaushik-tunuguntla/README | 1 + challenge-153/kevin-colyer/README | 3 + challenge-153/khalid-anwar/README | 1 + challenge-153/khalid/README | 1 + challenge-153/kian-meng-ang/README | 1 + challenge-153/kiran-kumar/README | 1 + challenge-153/kivanc-yazan/.gitignore | 2 + challenge-153/kivanc-yazan/README | 1 + challenge-153/kjetillll/README | 1 + challenge-153/kordaff/README | 1 + challenge-153/kostas-giannakakis/README | 1 + challenge-153/kurkale6ka/README | 1 + challenge-153/lance-wicks/README | 1 + challenge-153/lars-balker/README | 1 + challenge-153/lars-thegler/README | 1 + challenge-153/laurent-rosenfeld/README | 1 + challenge-153/leoltron/README | 1 + challenge-153/lubos-kolouch/README | 1 + challenge-153/luc65r/README | 1 + challenge-153/luca-ferrari/README | 1 + challenge-153/magnus-woldrich/README | 1 + challenge-153/manfredi/README | 1 + challenge-153/mano-chandar/README | 1 + challenge-153/mark-anderson/README | 1 + challenge-153/mark-senn/README | 1 + challenge-153/markjreed/README | 6 + challenge-153/markus-holzer/README | 1 + challenge-153/martin-barth/README | 1 + challenge-153/martin-mugeni/README | 1 + challenge-153/mathmauney/README | 1 + challenge-153/matt-latusek/README | 1 + challenge-153/matthew-persico/README | 1 + challenge-153/mattneleigh/README | 1 + challenge-153/maxim-kolodyazhny/README | 1 + challenge-153/maxim-nechaev/README | 1 + challenge-153/michael-hamlin/README | 5 + challenge-153/michael-schaap/README | 1 + challenge-153/mihail-iosilevitch/README | 1 + challenge-153/mike-accardo/README | 1 + challenge-153/mimosinnet/README | 1 + challenge-153/mohammad-anwar/README | 1 + challenge-153/morayj/README | 1 + challenge-153/ndelucca/README | 1 + challenge-153/neil-bowers/README | 1 + challenge-153/nick-logan/README | 1 + challenge-153/nikhil-prasanna/README | 1 + challenge-153/noud/README | 1 + challenge-153/nunovieira220/README | 1 + challenge-153/ohmycloud/README | 1 + challenge-153/oleksii-tsvietnov/README | 1 + challenge-153/olivier-delouya/README | 1 + challenge-153/olli-antti/README | 1 + challenge-153/orestis-zekai/README | 1 + challenge-153/ozzy/README | 1 + challenge-153/p6steve/README | 1 + challenge-153/pablo-saavedra/README | 1 + challenge-153/paul-fajman/README | 1 + challenge-153/paulo-custodio/Makefile | 2 + challenge-153/paulo-custodio/README | 1 + challenge-153/pavel-jurca/README | 1 + challenge-153/pavel-starikov/README | 1 + challenge-153/pavel_kuptsov/README | 2 + challenge-153/perlboy1967/README | 1 + challenge-153/pete-houston/README | 1 + challenge-153/pete-sergeant/README | 1 + challenge-153/peter-campbell-smith/README | 1 + challenge-153/peter-meszaros/README | 1 + challenge-153/peter-scott/README | 1 + challenge-153/petr-roubicek/README | 1 + challenge-153/philippe-bruhat/README | 1 + challenge-153/phillip-harris/README | 1 + challenge-153/pjdurai/README | 1 + challenge-153/pkmnx/README | 1 + challenge-153/plis-acm/.gitignore | 1 + challenge-153/plis-acm/README | 1 + challenge-153/pokgopun/README | 1 + challenge-153/polettix/README | 1 + challenge-153/polettix/perl/.gitignore | 1 + challenge-153/polettix/raku/.leaveme | 0 challenge-153/prajith-p/README | 1 + challenge-153/rage311/README | 1 + challenge-153/rakulius/README | 1 + challenge-153/randy-lauen/README | 1 + challenge-153/richard-park/README | 1 + challenge-153/rnuttall/README | 1 + challenge-153/rob-van-dam/README | 1 + challenge-153/rob4t/README | 1 + challenge-153/robert-dicicco/README | 1 + challenge-153/roger-bell-west/README | 1 + challenge-153/ruben-westerberg/README | 9 + challenge-153/ryan-thompson/README.md | 19 ++ challenge-153/saiftynet/README | 1 + challenge-153/samir-parikh/README | 1 + challenge-153/sangeet-kar/README | 1 + challenge-153/sean-meininger/README | 1 + challenge-153/sergiotarxz/README | 1 + challenge-153/sgreen/README.md | 3 + challenge-153/shahed-nooshmand/README | 1 + challenge-153/shardiwal/README | 1 + challenge-153/shaun-pearce/README | 1 + challenge-153/shawak/README.md | 1 + challenge-153/shawn-wagner/README | 1 + challenge-153/simon-miner/README | 1 + challenge-153/simon-proctor/README | 1 + challenge-153/simon-reinhardt/README | 1 + challenge-153/sol-demuth/README | 1 + challenge-153/southpawgeek/README | 1 + challenge-153/stephanie-stein/README | 1 + challenge-153/steve-bresson/README | 1 + challenge-153/steve-rogerson/README | 1 + challenge-153/steven-lembark/README | 1 + challenge-153/steven-wilson/README | 1 + challenge-153/stuart-little/README | 1 + challenge-153/svetlana-nesterova/README | 1 + challenge-153/swaggboi/README | 1 + challenge-153/szabgab/README | 1 + challenge-153/ted-leahy/README | 1 + challenge-153/testerR59/README | 1 + challenge-153/tiago-stock/README | 1 + challenge-153/tim-smith/README | 1 + challenge-153/tore-andersson/README | 1 + challenge-153/trenton-langer/README | 1 + challenge-153/tyler-limkemann/README | 1 + challenge-153/tyler-wardhaugh/README | 1 + challenge-153/tyler-wardhaugh/clojure/.gitignore | 28 +++ challenge-153/tyler-wardhaugh/clojure/LICENSE | 214 +++++++++++++++++++++ challenge-153/tyler-wardhaugh/clojure/README.md | 41 ++++ challenge-153/tyler-wardhaugh/clojure/bb.edn | 83 ++++++++ challenge-153/tyler-wardhaugh/clojure/deps.edn | 15 ++ .../tyler-wardhaugh/clojure/resources/.keep | 0 challenge-153/tyler-wardhaugh/python/.gitignore | 24 +++ challenge-153/tyler-wardhaugh/python/Makefile | 13 ++ challenge-153/ulrich-rieke/README | 1 + challenge-153/user-person/README | 1 + challenge-153/uzluisf/README | 1 + challenge-153/veesh-goldman/README | 1 + challenge-153/vinod-k/README | 1 + challenge-153/vinod-pal/README | 1 + challenge-153/vyacheslav-volgarev/README | 1 + challenge-153/walt-mankowski/README.md | 35 ++++ challenge-153/walt-mankowski/c/.gitignore | 2 + challenge-153/walt-mankowski/cpp/.gitignore | 2 + challenge-153/walt-mankowski/perl/.perl-version | 1 + .../walt-mankowski/python/.python-version | 1 + challenge-153/wambash/README | 1 + challenge-153/wanderdoc/README | 1 + challenge-153/will-west/README | 1 + challenge-153/william-gilmore/README | 1 + challenge-153/wlmb/README | 1 + challenge-153/x1mandi/README | 1 + challenge-153/xkr47/README | 11 ++ challenge-153/xliff/README | 1 + challenge-153/yary-h/README | 1 + challenge-153/yet-ebreo/README | 1 + challenge-153/yozen-hernandez/README | 1 + challenge-153/ziameraj16/README.md | 34 ++++ .../ziameraj16/kotlin/META-INF/main.kotlin_module | Bin 0 -> 24 bytes challenge-153/ziruzavar/README | 1 + 276 files changed, 1168 insertions(+) create mode 100644 challenge-153/0rir/README create mode 100644 challenge-153/2colours/README create mode 100644 challenge-153/3ter/README create mode 100755 challenge-153/LoneWolfiNTj/README create mode 100644 challenge-153/aaron-rowe/README create mode 100644 challenge-153/aaron-sherman/README create mode 100644 challenge-153/aaronreidsmith/README create mode 100644 challenge-153/abigail/README.md create mode 100644 challenge-153/adam-russell/README create mode 100644 challenge-153/adherzog/README create mode 100644 challenge-153/ailbhe-tweedie/README create mode 100644 challenge-153/alex-daniel/README create mode 100644 challenge-153/alexander-karelas/README create mode 100644 challenge-153/alexander-pankoff/README create mode 100644 challenge-153/alicia-bielsa/README create mode 100644 challenge-153/andinus/README create mode 100644 challenge-153/andrezgz/README create mode 100644 challenge-153/anton-fedotov/README create mode 100644 challenge-153/antonio-gamiz/README create mode 100644 challenge-153/arne-sommer/README create mode 100644 challenge-153/arpad-toth/README create mode 100644 challenge-153/ash/README create mode 100644 challenge-153/athanasius/README create mode 100644 challenge-153/aubrey-quarcoo/README create mode 100644 challenge-153/aviral-goel/README create mode 100644 challenge-153/belmark-caday/README create mode 100644 challenge-153/ben-davies/README.md create mode 100644 challenge-153/bill-palmer/README create mode 100644 challenge-153/bkb/README create mode 100644 challenge-153/bob-kleemann/README create mode 100644 challenge-153/bob-lied/README create mode 100644 challenge-153/brtastic/README create mode 100644 challenge-153/bruce-gray/README create mode 100644 challenge-153/bruno-ramos/README create mode 100644 challenge-153/burkhard-nickels/README create mode 100644 challenge-153/bwva/README create mode 100644 challenge-153/cheok-yin-fung/README create mode 100644 challenge-153/christian-jaeger/README create mode 100644 challenge-153/cliveholloway/README create mode 100644 challenge-153/colin-crain/README create mode 100644 challenge-153/conor-hoekstra/README create mode 100644 challenge-153/craig/README create mode 100644 challenge-153/creewick/README create mode 100644 challenge-153/cristian-heredia/README create mode 100644 challenge-153/cybersnyder/README create mode 100644 challenge-153/daniel-mantovani/README create mode 100644 challenge-153/daniel-mita/README create mode 100644 challenge-153/darren-bottin/README create mode 100644 challenge-153/dave-cross/README create mode 100644 challenge-153/dave-jacoby/README create mode 100644 challenge-153/david-kayal/README create mode 100644 challenge-153/david-santiago/README create mode 100644 challenge-153/ddobbelaere/README create mode 100644 challenge-153/deadmarshal/README create mode 100644 challenge-153/denis-yurashku/README create mode 100644 challenge-153/dms061/readme create mode 100644 challenge-153/donald-hunter/README create mode 100644 challenge-153/doug-schrag/README create mode 100644 challenge-153/dracos/README create mode 100644 challenge-153/duane-powell/README create mode 100644 challenge-153/duncan-c-white/README create mode 100644 challenge-153/e-choroba/README create mode 100644 challenge-153/ealvar3z/README create mode 100644 challenge-153/eddy-hs/README create mode 100644 challenge-153/eric-cheung/README create mode 100644 challenge-153/fabrizio-poggi/README create mode 100644 challenge-153/feng-chang/README create mode 100644 challenge-153/finanalyst/README create mode 100644 challenge-153/finley/README create mode 100644 challenge-153/fjwhittle/README create mode 100644 challenge-153/frankivo/README create mode 100644 challenge-153/fred-zinn/README create mode 100644 challenge-153/freddie-b/README create mode 100644 challenge-153/garrett-goebel/README create mode 100644 challenge-153/giuseppe-terlizzi/README create mode 100644 challenge-153/gugod/README create mode 100644 challenge-153/gugod/rust/.gitignore create mode 100644 challenge-153/guillermo-ramos/README create mode 100644 challenge-153/gurunandan-bhat/README create mode 100644 challenge-153/gustavo-chaves/README create mode 100644 challenge-153/hatorikibble/README create mode 100644 challenge-153/hauke-d/README create mode 100644 challenge-153/henry-wong/README create mode 100644 challenge-153/hstejas/README create mode 100644 challenge-153/iangoodnight/README.md create mode 100644 challenge-153/ianrifkin/README create mode 100644 challenge-153/izifresh/README create mode 100644 challenge-153/jacques-guinnebault/README create mode 100644 challenge-153/jaime/README create mode 100644 challenge-153/jake/README create mode 100644 challenge-153/jaldhar-h-vyas/README create mode 100644 challenge-153/james-raspass/README create mode 100644 challenge-153/james-smith/README.md create mode 100644 challenge-153/jan-perl/README create mode 100644 challenge-153/jaredor/README create mode 100644 challenge-153/jason-messer/README create mode 100644 challenge-153/javier-luque/README create mode 100644 challenge-153/jbourlakos/README create mode 100644 challenge-153/jcrosswh/README create mode 100644 challenge-153/jdos22/README create mode 100644 challenge-153/jeff/README create mode 100644 challenge-153/jeongoon/.gitignore create mode 100644 challenge-153/jeongoon/README create mode 100644 challenge-153/jeremy-carman/README create mode 100644 challenge-153/jim-bacon/README create mode 100644 challenge-153/jitu-keshwani/README create mode 100644 challenge-153/jj-merelo/README create mode 100644 challenge-153/jluis/README create mode 100644 challenge-153/jo-37/README create mode 100644 challenge-153/jo-christian-oterhals/README create mode 100644 challenge-153/joe-tym/README create mode 100644 challenge-153/joelle-maslak/README create mode 100644 challenge-153/john-barrett/README create mode 100644 challenge-153/jokraft/README create mode 100644 challenge-153/juan-caballero/README create mode 100644 challenge-153/julien-fiegehenn/README create mode 100644 challenge-153/juliodcs/README create mode 100644 challenge-153/kai-burgdorf/README.md create mode 100644 challenge-153/kaushik-tunuguntla/README create mode 100644 challenge-153/kevin-colyer/README create mode 100644 challenge-153/khalid-anwar/README create mode 100644 challenge-153/khalid/README create mode 100644 challenge-153/kian-meng-ang/README create mode 100644 challenge-153/kiran-kumar/README create mode 100644 challenge-153/kivanc-yazan/.gitignore create mode 100644 challenge-153/kivanc-yazan/README create mode 100644 challenge-153/kjetillll/README create mode 100644 challenge-153/kordaff/README create mode 100644 challenge-153/kostas-giannakakis/README create mode 100644 challenge-153/kurkale6ka/README create mode 100644 challenge-153/lance-wicks/README create mode 100644 challenge-153/lars-balker/README create mode 100644 challenge-153/lars-thegler/README create mode 100644 challenge-153/laurent-rosenfeld/README create mode 100644 challenge-153/leoltron/README create mode 100644 challenge-153/lubos-kolouch/README create mode 100644 challenge-153/luc65r/README create mode 100644 challenge-153/luca-ferrari/README create mode 100644 challenge-153/magnus-woldrich/README create mode 100644 challenge-153/manfredi/README create mode 100644 challenge-153/mano-chandar/README create mode 100644 challenge-153/mark-anderson/README create mode 100644 challenge-153/mark-senn/README create mode 100644 challenge-153/markjreed/README create mode 100644 challenge-153/markus-holzer/README create mode 100644 challenge-153/martin-barth/README create mode 100644 challenge-153/martin-mugeni/README create mode 100644 challenge-153/mathmauney/README create mode 100644 challenge-153/matt-latusek/README create mode 100644 challenge-153/matthew-persico/README create mode 100644 challenge-153/mattneleigh/README create mode 100644 challenge-153/maxim-kolodyazhny/README create mode 100644 challenge-153/maxim-nechaev/README create mode 100644 challenge-153/michael-hamlin/README create mode 100644 challenge-153/michael-schaap/README create mode 100644 challenge-153/mihail-iosilevitch/README create mode 100644 challenge-153/mike-accardo/README create mode 100644 challenge-153/mimosinnet/README create mode 100644 challenge-153/mohammad-anwar/README create mode 100644 challenge-153/morayj/README create mode 100644 challenge-153/ndelucca/README create mode 100644 challenge-153/neil-bowers/README create mode 100644 challenge-153/nick-logan/README create mode 100644 challenge-153/nikhil-prasanna/README create mode 100644 challenge-153/noud/README create mode 100644 challenge-153/nunovieira220/README create mode 100644 challenge-153/ohmycloud/README create mode 100644 challenge-153/oleksii-tsvietnov/README create mode 100644 challenge-153/olivier-delouya/README create mode 100644 challenge-153/olli-antti/README create mode 100644 challenge-153/orestis-zekai/README create mode 100644 challenge-153/ozzy/README create mode 100644 challenge-153/p6steve/README create mode 100644 challenge-153/pablo-saavedra/README create mode 100644 challenge-153/paul-fajman/README create mode 100644 challenge-153/paulo-custodio/Makefile create mode 100644 challenge-153/paulo-custodio/README create mode 100644 challenge-153/pavel-jurca/README create mode 100644 challenge-153/pavel-starikov/README create mode 100644 challenge-153/pavel_kuptsov/README create mode 100644 challenge-153/perlboy1967/README create mode 100644 challenge-153/pete-houston/README create mode 100644 challenge-153/pete-sergeant/README create mode 100644 challenge-153/peter-campbell-smith/README create mode 100644 challenge-153/peter-meszaros/README create mode 100644 challenge-153/peter-scott/README create mode 100644 challenge-153/petr-roubicek/README create mode 100644 challenge-153/philippe-bruhat/README create mode 100644 challenge-153/phillip-harris/README create mode 100644 challenge-153/pjdurai/README create mode 100644 challenge-153/pkmnx/README create mode 100644 challenge-153/plis-acm/.gitignore create mode 100644 challenge-153/plis-acm/README create mode 100644 challenge-153/pokgopun/README create mode 100644 challenge-153/polettix/README create mode 100644 challenge-153/polettix/perl/.gitignore create mode 100644 challenge-153/polettix/raku/.leaveme create mode 100644 challenge-153/prajith-p/README create mode 100644 challenge-153/rage311/README create mode 100644 challenge-153/rakulius/README create mode 100644 challenge-153/randy-lauen/README create mode 100644 challenge-153/richard-park/README create mode 100644 challenge-153/rnuttall/README create mode 100644 challenge-153/rob-van-dam/README create mode 100644 challenge-153/rob4t/README create mode 100644 challenge-153/robert-dicicco/README create mode 100644 challenge-153/roger-bell-west/README create mode 100644 challenge-153/ruben-westerberg/README create mode 100644 challenge-153/ryan-thompson/README.md create mode 100644 challenge-153/saiftynet/README create mode 100644 challenge-153/samir-parikh/README create mode 100644 challenge-153/sangeet-kar/README create mode 100644 challenge-153/sean-meininger/README create mode 100644 challenge-153/sergiotarxz/README create mode 100644 challenge-153/sgreen/README.md create mode 100644 challenge-153/shahed-nooshmand/README create mode 100644 challenge-153/shardiwal/README create mode 100644 challenge-153/shaun-pearce/README create mode 100644 challenge-153/shawak/README.md create mode 100644 challenge-153/shawn-wagner/README create mode 100644 challenge-153/simon-miner/README create mode 100644 challenge-153/simon-proctor/README create mode 100644 challenge-153/simon-reinhardt/README create mode 100644 challenge-153/sol-demuth/README create mode 100644 challenge-153/southpawgeek/README create mode 100644 challenge-153/stephanie-stein/README create mode 100644 challenge-153/steve-bresson/README create mode 100644 challenge-153/steve-rogerson/README create mode 100644 challenge-153/steven-lembark/README create mode 100644 challenge-153/steven-wilson/README create mode 100644 challenge-153/stuart-little/README create mode 100644 challenge-153/svetlana-nesterova/README create mode 100644 challenge-153/swaggboi/README create mode 100644 challenge-153/szabgab/README create mode 100644 challenge-153/ted-leahy/README create mode 100644 challenge-153/testerR59/README create mode 100644 challenge-153/tiago-stock/README create mode 100644 challenge-153/tim-smith/README create mode 100644 challenge-153/tore-andersson/README create mode 100644 challenge-153/trenton-langer/README create mode 100644 challenge-153/tyler-limkemann/README create mode 100644 challenge-153/tyler-wardhaugh/README create mode 100644 challenge-153/tyler-wardhaugh/clojure/.gitignore create mode 100644 challenge-153/tyler-wardhaugh/clojure/LICENSE create mode 100644 challenge-153/tyler-wardhaugh/clojure/README.md create mode 100644 challenge-153/tyler-wardhaugh/clojure/bb.edn create mode 100644 challenge-153/tyler-wardhaugh/clojure/deps.edn create mode 100644 challenge-153/tyler-wardhaugh/clojure/resources/.keep create mode 100644 challenge-153/tyler-wardhaugh/python/.gitignore create mode 100644 challenge-153/tyler-wardhaugh/python/Makefile create mode 100644 challenge-153/ulrich-rieke/README create mode 100644 challenge-153/user-person/README create mode 100644 challenge-153/uzluisf/README create mode 100644 challenge-153/veesh-goldman/README create mode 100644 challenge-153/vinod-k/README create mode 100644 challenge-153/vinod-pal/README create mode 100644 challenge-153/vyacheslav-volgarev/README create mode 100644 challenge-153/walt-mankowski/README.md create mode 100644 challenge-153/walt-mankowski/c/.gitignore create mode 100644 challenge-153/walt-mankowski/cpp/.gitignore create mode 100644 challenge-153/walt-mankowski/perl/.perl-version create mode 100644 challenge-153/walt-mankowski/python/.python-version create mode 100644 challenge-153/wambash/README create mode 100644 challenge-153/wanderdoc/README create mode 100644 challenge-153/will-west/README create mode 100644 challenge-153/william-gilmore/README create mode 100644 challenge-153/wlmb/README create mode 100644 challenge-153/x1mandi/README create mode 100644 challenge-153/xkr47/README create mode 100644 challenge-153/xliff/README create mode 100644 challenge-153/yary-h/README create mode 100644 challenge-153/yet-ebreo/README create mode 100644 challenge-153/yozen-hernandez/README create mode 100644 challenge-153/ziameraj16/README.md create mode 100644 challenge-153/ziameraj16/kotlin/META-INF/main.kotlin_module create mode 100644 challenge-153/ziruzavar/README diff --git a/challenge-153/0rir/README b/challenge-153/0rir/README new file mode 100644 index 0000000000..48ee4684c2 --- /dev/null +++ b/challenge-153/0rir/README @@ -0,0 +1,2 @@ + +Solution by Robert Ransbottom. diff --git a/challenge-153/2colours/README b/challenge-153/2colours/README new file mode 100644 index 0000000000..6894fbec08 --- /dev/null +++ b/challenge-153/2colours/README @@ -0,0 +1 @@ +Solution By Márton Polgár. diff --git a/challenge-153/3ter/README b/challenge-153/3ter/README new file mode 100644 index 0000000000..8c594431f3 --- /dev/null +++ b/challenge-153/3ter/README @@ -0,0 +1 @@ +Solutions by 3ter. diff --git a/challenge-153/LoneWolfiNTj/README b/challenge-153/LoneWolfiNTj/README new file mode 100755 index 0000000000..bf42ad2482 --- /dev/null +++ b/challenge-153/LoneWolfiNTj/README @@ -0,0 +1 @@ +Solution by Robbie Hatley (github user "LoneWolfiNTj"). \ No newline at end of file diff --git a/challenge-153/aaron-rowe/README b/challenge-153/aaron-rowe/README new file mode 100644 index 0000000000..e14e0782fb --- /dev/null +++ b/challenge-153/aaron-rowe/README @@ -0,0 +1 @@ +Solutions by Aaron Rowe. diff --git a/challenge-153/aaron-sherman/README b/challenge-153/aaron-sherman/README new file mode 100644 index 0000000000..14ec31f570 --- /dev/null +++ b/challenge-153/aaron-sherman/README @@ -0,0 +1 @@ +Solutions by Aaron Sherman. diff --git a/challenge-153/aaronreidsmith/README b/challenge-153/aaronreidsmith/README new file mode 100644 index 0000000000..2fcfe1fdcc --- /dev/null +++ b/challenge-153/aaronreidsmith/README @@ -0,0 +1 @@ +Solution by Aaron Smith diff --git a/challenge-153/abigail/README.md b/challenge-153/abigail/README.md new file mode 100644 index 0000000000..9b1fd5d762 --- /dev/null +++ b/challenge-153/abigail/README.md @@ -0,0 +1,24 @@ +# Solutions by Abigail + +## Part 1 + +* [AWK](awk/ch-1.awk) +* [Bash](bash/ch-1.sh) +* [C](c/ch-1.c) +* [Lua](lua/ch-1.lua) +* [Node.js](node/ch-1.js) +* [Perl](perl/ch-1.pl) +* [Python](python/ch-1.py) +* [Ruby](ruby/ch-1.rb) + + +## Part 2 + +* [AWK](awk/ch-2.awk) +* [Bash](bash/ch-2.sh) +* [C](c/ch-2.c) +* [Lua](lua/ch-2.lua) +* [Node.js](node/ch-2.js) +* [Perl](perl/ch-2.pl) +* [Python](python/ch-2.py) +* [Ruby](ruby/ch-2.rb) diff --git a/challenge-153/adam-russell/README b/challenge-153/adam-russell/README new file mode 100644 index 0000000000..1d2e2957c5 --- /dev/null +++ b/challenge-153/adam-russell/README @@ -0,0 +1 @@ +Solution by Adam Russell diff --git a/challenge-153/adherzog/README b/challenge-153/adherzog/README new file mode 100644 index 0000000000..b59913be6c --- /dev/null +++ b/challenge-153/adherzog/README @@ -0,0 +1 @@ +Solutions by Adam Herzog. diff --git a/challenge-153/ailbhe-tweedie/README b/challenge-153/ailbhe-tweedie/README new file mode 100644 index 0000000000..36d4034b70 --- /dev/null +++ b/challenge-153/ailbhe-tweedie/README @@ -0,0 +1 @@ +Solution by Ailbhe Tweedie diff --git a/challenge-153/alex-daniel/README b/challenge-153/alex-daniel/README new file mode 100644 index 0000000000..65550789bd --- /dev/null +++ b/challenge-153/alex-daniel/README @@ -0,0 +1 @@ +Solution by Alex Daniel. diff --git a/challenge-153/alexander-karelas/README b/challenge-153/alexander-karelas/README new file mode 100644 index 0000000000..3de9fce8d9 --- /dev/null +++ b/challenge-153/alexander-karelas/README @@ -0,0 +1 @@ +Solution by Alexander Karelas diff --git a/challenge-153/alexander-pankoff/README b/challenge-153/alexander-pankoff/README new file mode 100644 index 0000000000..41f67807ac --- /dev/null +++ b/challenge-153/alexander-pankoff/README @@ -0,0 +1 @@ +Solution by Alexander Pankoff diff --git a/challenge-153/alicia-bielsa/README b/challenge-153/alicia-bielsa/README new file mode 100644 index 0000000000..c5187874c3 --- /dev/null +++ b/challenge-153/alicia-bielsa/README @@ -0,0 +1 @@ +Solution by Alicia Beilsa. diff --git a/challenge-153/andinus/README b/challenge-153/andinus/README new file mode 100644 index 0000000000..bd1dd6e3ce --- /dev/null +++ b/challenge-153/andinus/README @@ -0,0 +1,51 @@ + ━━━━━━━━━━━━━━━ + CHALLENGE 135 + + Andinus + ━━━━━━━━━━━━━━━ + + + 2021-10-22 + + + + + +Task 1 - Middle 3-digits +════════════════════════ + + You are given an integer. + + Write a script find out the middle 3-digits of the given integer, if + possible otherwise throw sensible error. + + ┌──── + │ Input: $n = 1234567 + │ Output: 345 + │ + │ Input: $n = -123 + │ Output: 123 + │ + │ Input: $n = 1 + │ Output: too short + │ + │ Input: $n = 10 + │ Output: even number of digits + └──── + + +Raku +──── + + Input's absolute value is taken because the sign is meaningless here. + To get middle 3-digits we take 3 digits from `$n.chars div 2 - 1' + position, `-1' because Arrays are 0-indexed. It's guaranteed that we + have odd number of digits so `div 2' will land us on left of middle + digit, we just take 3 digits from there. + + ┌──── + │ $n = abs $n; + │ die "too short" if $n.chars < 3; + │ die "even number of digits" if $n.chars %% 2; + │ put $n.substr($n.chars div 2 - 1, 3); + └──── diff --git a/challenge-153/andrezgz/README b/challenge-153/andrezgz/README new file mode 100644 index 0000000000..f4fd0da88e --- /dev/null +++ b/challenge-153/andrezgz/README @@ -0,0 +1 @@ +Solution by Andrezgz diff --git a/challenge-153/anton-fedotov/README b/challenge-153/anton-fedotov/README new file mode 100644 index 0000000000..f7c4f6deed --- /dev/null +++ b/challenge-153/anton-fedotov/README @@ -0,0 +1 @@ +Solutions by Anton Fedotov. diff --git a/challenge-153/antonio-gamiz/README b/challenge-153/antonio-gamiz/README new file mode 100644 index 0000000000..1f5ed5871a --- /dev/null +++ b/challenge-153/antonio-gamiz/README @@ -0,0 +1 @@ +Solution by Antonio Gamiz diff --git a/challenge-153/arne-sommer/README b/challenge-153/arne-sommer/README new file mode 100644 index 0000000000..b5d88e4df4 --- /dev/null +++ b/challenge-153/arne-sommer/README @@ -0,0 +1 @@ +Solution by Arne Sommer. diff --git a/challenge-153/arpad-toth/README b/challenge-153/arpad-toth/README new file mode 100644 index 0000000000..6661dd82c1 --- /dev/null +++ b/challenge-153/arpad-toth/README @@ -0,0 +1 @@ +Solution by Arpad Toth diff --git a/challenge-153/ash/README b/challenge-153/ash/README new file mode 100644 index 0000000000..318b1bfb41 --- /dev/null +++ b/challenge-153/ash/README @@ -0,0 +1 @@ +Solutions by Andrew Shitov diff --git a/challenge-153/athanasius/README b/challenge-153/athanasius/README new file mode 100644 index 0000000000..cc357fda4a --- /dev/null +++ b/challenge-153/athanasius/README @@ -0,0 +1 @@ +Solution by Athanasius diff --git a/challenge-153/aubrey-quarcoo/README b/challenge-153/aubrey-quarcoo/README new file mode 100644 index 0000000000..8e63a2c1f5 --- /dev/null +++ b/challenge-153/aubrey-quarcoo/README @@ -0,0 +1 @@ +Solution by Aubrey Quarcoo diff --git a/challenge-153/aviral-goel/README b/challenge-153/aviral-goel/README new file mode 100644 index 0000000000..e64ee14512 --- /dev/null +++ b/challenge-153/aviral-goel/README @@ -0,0 +1 @@ +Solutions by Aviral Goel. diff --git a/challenge-153/belmark-caday/README b/challenge-153/belmark-caday/README new file mode 100644 index 0000000000..6726590965 --- /dev/null +++ b/challenge-153/belmark-caday/README @@ -0,0 +1 @@ +Solutions by Belmark Caday. diff --git a/challenge-153/ben-davies/README.md b/challenge-153/ben-davies/README.md new file mode 100644 index 0000000000..77158344c9 --- /dev/null +++ b/challenge-153/ben-davies/README.md @@ -0,0 +1 @@ +Solution by Ben Davies diff --git a/challenge-153/bill-palmer/README b/challenge-153/bill-palmer/README new file mode 100644 index 0000000000..08ec849a41 --- /dev/null +++ b/challenge-153/bill-palmer/README @@ -0,0 +1 @@ +Solution by Bill Palmer. diff --git a/challenge-153/bkb/README b/challenge-153/bkb/README new file mode 100644 index 0000000000..4721993bb3 --- /dev/null +++ b/challenge-153/bkb/README @@ -0,0 +1 @@ +Solution by Ben Bullock. diff --git a/challenge-153/bob-kleemann/README b/challenge-153/bob-kleemann/README new file mode 100644 index 0000000000..78680e4035 --- /dev/null +++ b/challenge-153/bob-kleemann/README @@ -0,0 +1 @@ +Solution by Bob Kleemann diff --git a/challenge-153/bob-lied/README b/challenge-153/bob-lied/README new file mode 100644 index 0000000000..c231e3a589 --- /dev/null +++ b/challenge-153/bob-lied/README @@ -0,0 +1,3 @@ +Solutions to weekly challenge 138 by Bob Lied + +https://perlweeklychallenge.org/blog/perl-weekly-challenge-138/ diff --git a/challenge-153/brtastic/README b/challenge-153/brtastic/README new file mode 100644 index 0000000000..0fbe79fd6f --- /dev/null +++ b/challenge-153/brtastic/README @@ -0,0 +1 @@ +Solutions by Bartosz Jarzyna. diff --git a/challenge-153/bruce-gray/README b/challenge-153/bruce-gray/README new file mode 100644 index 0000000000..58a8668633 --- /dev/null +++ b/challenge-153/bruce-gray/README @@ -0,0 +1 @@ +Solutions by Bruce Gray diff --git a/challenge-153/bruno-ramos/README b/challenge-153/bruno-ramos/README new file mode 100644 index 0000000000..9d631dad8f --- /dev/null +++ b/challenge-153/bruno-ramos/README @@ -0,0 +1 @@ +Solutions by Bruno Ramos. diff --git a/challenge-153/burkhard-nickels/README b/challenge-153/burkhard-nickels/README new file mode 100644 index 0000000000..f5e16bb98b --- /dev/null +++ b/challenge-153/burkhard-nickels/README @@ -0,0 +1 @@ +Solutions by Burkhard Nickels. diff --git a/challenge-153/bwva/README b/challenge-153/bwva/README new file mode 100644 index 0000000000..ee6a7d7dc1 --- /dev/null +++ b/challenge-153/bwva/README @@ -0,0 +1 @@ +Solution(s) by bwva (Bruce Van Allen) diff --git a/challenge-153/cheok-yin-fung/README b/challenge-153/cheok-yin-fung/README new file mode 100644 index 0000000000..05c1883e53 --- /dev/null +++ b/challenge-153/cheok-yin-fung/README @@ -0,0 +1 @@ + Solutions by Cheok-Yin Fung. diff --git a/challenge-153/christian-jaeger/README b/challenge-153/christian-jaeger/README new file mode 100644 index 0000000000..4ef4f11c10 --- /dev/null +++ b/challenge-153/christian-jaeger/README @@ -0,0 +1 @@ +Solution by Christian Jaeger diff --git a/challenge-153/cliveholloway/README b/challenge-153/cliveholloway/README new file mode 100644 index 0000000000..b69201296e --- /dev/null +++ b/challenge-153/cliveholloway/README @@ -0,0 +1 @@ +Solution by Clive Holloway diff --git a/challenge-153/colin-crain/README b/challenge-153/colin-crain/README new file mode 100644 index 0000000000..2a5d87e97d --- /dev/null +++ b/challenge-153/colin-crain/README @@ -0,0 +1 @@ +Solutions by Colin Crain. diff --git a/challenge-153/conor-hoekstra/README b/challenge-153/conor-hoekstra/README new file mode 100644 index 0000000000..d04e921681 --- /dev/null +++ b/challenge-153/conor-hoekstra/README @@ -0,0 +1 @@ +Solutions by Conor Hoekstra. diff --git a/challenge-153/craig/README b/challenge-153/craig/README new file mode 100644 index 0000000000..18088481eb --- /dev/null +++ b/challenge-153/craig/README @@ -0,0 +1 @@ +Solutions by Craig. diff --git a/challenge-153/creewick/README b/challenge-153/creewick/README new file mode 100644 index 0000000000..c490e4fb80 --- /dev/null +++ b/challenge-153/creewick/README @@ -0,0 +1 @@ +Solutions by Creewick. diff --git a/challenge-153/cristian-heredia/README b/challenge-153/cristian-heredia/README new file mode 100644 index 0000000000..c53da8a54c --- /dev/null +++ b/challenge-153/cristian-heredia/README @@ -0,0 +1 @@ +Solutions by Cristina Heredia. diff --git a/challenge-153/cybersnyder/README b/challenge-153/cybersnyder/README new file mode 100644 index 0000000000..b5afea93b0 --- /dev/null +++ b/challenge-153/cybersnyder/README @@ -0,0 +1 @@ +Solution by Rich Snyder aka cybersnyder diff --git a/challenge-153/daniel-mantovani/README b/challenge-153/daniel-mantovani/README new file mode 100644 index 0000000000..ed538216f2 --- /dev/null +++ b/challenge-153/daniel-mantovani/README @@ -0,0 +1 @@ +Solution by Daniel Mantovani diff --git a/challenge-153/daniel-mita/README b/challenge-153/daniel-mita/README new file mode 100644 index 0000000000..37339f491f --- /dev/null +++ b/challenge-153/daniel-mita/README @@ -0,0 +1 @@ +Solution by Daniel Mita diff --git a/challenge-153/darren-bottin/README b/challenge-153/darren-bottin/README new file mode 100644 index 0000000000..6c792afe8e --- /dev/null +++ b/challenge-153/darren-bottin/README @@ -0,0 +1 @@ +Solutions by Darren Bottin. diff --git a/challenge-153/dave-cross/README b/challenge-153/dave-cross/README new file mode 100644 index 0000000000..04b1b0623b --- /dev/null +++ b/challenge-153/dave-cross/README @@ -0,0 +1 @@ +Solution by Dave Cross diff --git a/challenge-153/dave-jacoby/README b/challenge-153/dave-jacoby/README new file mode 100644 index 0000000000..7c06689f16 --- /dev/null +++ b/challenge-153/dave-jacoby/README @@ -0,0 +1 @@ +Solution by Dave Jacoby diff --git a/challenge-153/david-kayal/README b/challenge-153/david-kayal/README new file mode 100644 index 0000000000..66f8615260 --- /dev/null +++ b/challenge-153/david-kayal/README @@ -0,0 +1 @@ +Solution by David Kayal diff --git a/challenge-153/david-santiago/README b/challenge-153/david-santiago/README new file mode 100644 index 0000000000..07584efe1d --- /dev/null +++ b/challenge-153/david-santiago/README @@ -0,0 +1 @@ +Solutions by David Santiago. diff --git a/challenge-153/ddobbelaere/README b/challenge-153/ddobbelaere/README new file mode 100644 index 0000000000..36f8cdcd67 --- /dev/null +++ b/challenge-153/ddobbelaere/README @@ -0,0 +1 @@ +Solution by Dieter Dobbelaere diff --git a/challenge-153/deadmarshal/README b/challenge-153/deadmarshal/README new file mode 100644 index 0000000000..243097dede --- /dev/null +++ b/challenge-153/deadmarshal/README @@ -0,0 +1 @@ +Solution by Ali Moradi \ No newline at end of file diff --git a/challenge-153/denis-yurashku/README b/challenge-153/denis-yurashku/README new file mode 100644 index 0000000000..2fea994000 --- /dev/null +++ b/challenge-153/denis-yurashku/README @@ -0,0 +1 @@ +Solutions by Denis Yurashku. diff --git a/challenge-153/dms061/readme b/challenge-153/dms061/readme new file mode 100644 index 0000000000..e2684c7d25 --- /dev/null +++ b/challenge-153/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-153/donald-hunter/README b/challenge-153/donald-hunter/README new file mode 100644 index 0000000000..2eef878f17 --- /dev/null +++ b/challenge-153/donald-hunter/README @@ -0,0 +1 @@ +Solutions by Donald Hunter. diff --git a/challenge-153/doug-schrag/README b/challenge-153/doug-schrag/README new file mode 100644 index 0000000000..bf8a10ffb4 --- /dev/null +++ b/challenge-153/doug-schrag/README @@ -0,0 +1 @@ +Solution by Doug Schrag diff --git a/challenge-153/dracos/README b/challenge-153/dracos/README new file mode 100644 index 0000000000..a9a6517a03 --- /dev/null +++ b/challenge-153/dracos/README @@ -0,0 +1 @@ +Solutions by Matthew Somerville. diff --git a/challenge-153/duane-powell/README b/challenge-153/duane-powell/README new file mode 100644 index 0000000000..3445422743 --- /dev/null +++ b/challenge-153/duane-powell/README @@ -0,0 +1 @@ +Solutions by Duane Powell. diff --git a/challenge-153/duncan-c-white/README b/challenge-153/duncan-c-white/README new file mode 100644 index 0000000000..2bc85c8535 --- /dev/null +++ b/challenge-153/duncan-c-white/README @@ -0,0 +1,61 @@ +TASK #1 - Triangle Sum Path + +You are given a triangle array. + +Write a script to find the minimum sum path from top to bottom. + +Example 1: + + Input: $triangle = [ [1], [5,3], [2,3,4], [7,1,0,2], [6,4,5,2,8] ] + + 1 + 5 3 + 2 3 4 + 7 1 0 2 + 6 4 5 2 8 + + Output: 8 + + Minimum Sum Path = 1 + 3 + 2 + 0 + 2 => 8 + +Example 2: + + Input: $triangle = [ [5], [2,3], [4,1,5], [0,1,2,3], [7,2,4,1,9] ] + + 5 + 2 3 + 4 1 5 + 0 1 2 3 + 7 2 4 1 9 + + Output: 9 + + Minimum Sum Path = 5 + 2 + 1 + 0 + 1 => 9 + +MY NOTES: So it appears at each row, we simply pick the minimum value. +It doesn't have to be adjacent, or even close to, the one we picked +on the row above. Ok, so that's easy! Actually, parsing the input +may be the hardest part. + + +TASK #2 - Rectangle Area + +You are given coordinates bottom-left and top-right corner of two rectangles in a 2D plane. + +Write a script to find the total area covered by the two rectangles. + +Example 1: + + Input: Rectangle 1 => (-1,0), (2,2) + Rectangle 2 => (0,-1), (4,4) + + Output: 22 + +Example 2: + + Input: Rectangle 1 => (-3,-1), (1,3) + Rectangle 2 => (-1,-3), (2,2) + + Output: 25 + +MY NOTES: Of course the tricky bit here is when the rectangles overlap. diff --git a/challenge-153/e-choroba/README b/challenge-153/e-choroba/README new file mode 100644 index 0000000000..efff637bcb --- /dev/null +++ b/challenge-153/e-choroba/README @@ -0,0 +1 @@ +Solutions by E. Choroba. diff --git a/challenge-153/ealvar3z/README b/challenge-153/ealvar3z/README new file mode 100644 index 0000000000..a50c065308 --- /dev/null +++ b/challenge-153/ealvar3z/README @@ -0,0 +1 @@ +Solution by ealvar3z diff --git a/challenge-153/eddy-hs/README b/challenge-153/eddy-hs/README new file mode 100644 index 0000000000..0ed51d222d --- /dev/null +++ b/challenge-153/eddy-hs/README @@ -0,0 +1 @@ +Solution by Eddy HS diff --git a/challenge-153/eric-cheung/README b/challenge-153/eric-cheung/README new file mode 100644 index 0000000000..1bf6db4498 --- /dev/null +++ b/challenge-153/eric-cheung/README @@ -0,0 +1 @@ +Solutions by Eric Cheung. diff --git a/challenge-153/fabrizio-poggi/README b/challenge-153/fabrizio-poggi/README new file mode 100644 index 0000000000..3c17b29182 --- /dev/null +++ b/challenge-153/fabrizio-poggi/README @@ -0,0 +1 @@ +Solutions by Fabrizio Poggi. diff --git a/challenge-153/feng-chang/README b/challenge-153/feng-chang/README new file mode 100644 index 0000000000..74e56de3ed --- /dev/null +++ b/challenge-153/feng-chang/README @@ -0,0 +1 @@ +Solutions by Feng Chang. diff --git a/challenge-153/finanalyst/README b/challenge-153/finanalyst/README new file mode 100644 index 0000000000..15f7652e32 --- /dev/null +++ b/challenge-153/finanalyst/README @@ -0,0 +1 @@ +Solution by Richard Hainsworth, aka finanalyst diff --git a/challenge-153/finley/README b/challenge-153/finley/README new file mode 100644 index 0000000000..f08a121076 --- /dev/null +++ b/challenge-153/finley/README @@ -0,0 +1 @@ +Solution by Finley diff --git a/challenge-153/fjwhittle/README b/challenge-153/fjwhittle/README new file mode 100644 index 0000000000..7dcc95e189 --- /dev/null +++ b/challenge-153/fjwhittle/README @@ -0,0 +1 @@ +Solution by Francis Whittle diff --git a/challenge-153/frankivo/README b/challenge-153/frankivo/README new file mode 100644 index 0000000000..681b15b36c --- /dev/null +++ b/challenge-153/frankivo/README @@ -0,0 +1 @@ +Solution by Frank Oosterhuis. diff --git a/challenge-153/fred-zinn/README b/challenge-153/fred-zinn/README new file mode 100644 index 0000000000..17bac4f094 --- /dev/null +++ b/challenge-153/fred-zinn/README @@ -0,0 +1 @@ +Solution by Fred Zinn diff --git a/challenge-153/freddie-b/README b/challenge-153/freddie-b/README new file mode 100644 index 0000000000..823d7474b5 --- /dev/null +++ b/challenge-153/freddie-b/README @@ -0,0 +1 @@ +Solution by Freddie B diff --git a/challenge-153/garrett-goebel/README b/challenge-153/garrett-goebel/README new file mode 100644 index 0000000000..a8aa246dbb --- /dev/null +++ b/challenge-153/garrett-goebel/README @@ -0,0 +1 @@ +Solution by Garrett Goebel diff --git a/challenge-153/giuseppe-terlizzi/README b/challenge-153/giuseppe-terlizzi/README new file mode 100644 index 0000000000..0bff2a945c --- /dev/null +++ b/challenge-153/giuseppe-terlizzi/README @@ -0,0 +1 @@ +Solutions by Giuseppe Di Terlizzi. diff --git a/challenge-153/gugod/README b/challenge-153/gugod/README new file mode 100644 index 0000000000..509fd4c50c --- /dev/null +++ b/challenge-153/gugod/README @@ -0,0 +1 @@ +Solutions by Kang-min Liu. diff --git a/challenge-153/gugod/rust/.gitignore b/challenge-153/gugod/rust/.gitignore new file mode 100644 index 0000000000..ac77297bfe --- /dev/null +++ b/challenge-153/gugod/rust/.gitignore @@ -0,0 +1,2 @@ +ch-1 +ch-2 diff --git a/challenge-153/guillermo-ramos/README b/challenge-153/guillermo-ramos/README new file mode 100644 index 0000000000..a39eb01bff --- /dev/null +++ b/challenge-153/guillermo-ramos/README @@ -0,0 +1 @@ +Solution by Guillermo Ramos. diff --git a/challenge-153/gurunandan-bhat/README b/challenge-153/gurunandan-bhat/README new file mode 100644 index 0000000000..495f4cfafa --- /dev/null +++ b/challenge-153/gurunandan-bhat/README @@ -0,0 +1 @@ +Solutions by Gurunandan Bhat. diff --git a/challenge-153/gustavo-chaves/README b/challenge-153/gustavo-chaves/README new file mode 100644 index 0000000000..a66bbbf8a3 --- /dev/null +++ b/challenge-153/gustavo-chaves/README @@ -0,0 +1 @@ +Solution by Gustavo Chaves diff --git a/challenge-153/hatorikibble/README b/challenge-153/hatorikibble/README new file mode 100644 index 0000000000..51a9cd4411 --- /dev/null +++ b/challenge-153/hatorikibble/README @@ -0,0 +1 @@ +Solution by Peter Mayr diff --git a/challenge-153/hauke-d/README b/challenge-153/hauke-d/README new file mode 100644 index 0000000000..e201aa0abc --- /dev/null +++ b/challenge-153/hauke-d/README @@ -0,0 +1 @@ +Solutions by Hauke Dämpfling. diff --git a/challenge-153/henry-wong/README b/challenge-153/henry-wong/README new file mode 100644 index 0000000000..3d63a6f0be --- /dev/null +++ b/challenge-153/henry-wong/README @@ -0,0 +1 @@ +Solution by Henry Wong diff --git a/challenge-153/hstejas/README b/challenge-153/hstejas/README new file mode 100644 index 0000000000..969c5c0569 --- /dev/null +++ b/challenge-153/hstejas/README @@ -0,0 +1 @@ +Solution by Tejas diff --git a/challenge-153/iangoodnight/README.md b/challenge-153/iangoodnight/README.md new file mode 100644 index 0000000000..2a4a23a28c --- /dev/null +++ b/challenge-153/iangoodnight/README.md @@ -0,0 +1 @@ +Solution by Ian Goodnight diff --git a/challenge-153/ianrifkin/README b/challenge-153/ianrifkin/README new file mode 100644 index 0000000000..2d26297fb9 --- /dev/null +++ b/challenge-153/ianrifkin/README @@ -0,0 +1 @@ +Solution by Ian Rifkin. \ No newline at end of file diff --git a/challenge-153/izifresh/README b/challenge-153/izifresh/README new file mode 100644 index 0000000000..aedce7c408 --- /dev/null +++ b/challenge-153/izifresh/README @@ -0,0 +1 @@ +Solution by izifresh \ No newline at end of file diff --git a/challenge-153/jacques-guinnebault/README b/challenge-153/jacques-guinnebault/README new file mode 100644 index 0000000000..9d3e7c037f --- /dev/null +++ b/challenge-153/jacques-guinnebault/README @@ -0,0 +1 @@ +Solution by Jacques Guinnebault. diff --git a/challenge-153/jaime/README b/challenge-153/jaime/README new file mode 100644 index 0000000000..007cb58459 --- /dev/null +++ b/challenge-153/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-153/jake/README b/challenge-153/jake/README new file mode 100644 index 0000000000..2e6084589f --- /dev/null +++ b/challenge-153/jake/README @@ -0,0 +1 @@ +Solutions by Jake. diff --git a/challenge-153/jaldhar-h-vyas/README b/challenge-153/jaldhar-h-vyas/README new file mode 100644 index 0000000000..7dce927eca --- /dev/null +++ b/challenge-153/jaldhar-h-vyas/README @@ -0,0 +1 @@ +Solution by Jaldhar H. Vyas diff --git a/challenge-153/james-raspass/README b/challenge-153/james-raspass/README new file mode 100644 index 0000000000..e8b9d803c6 --- /dev/null +++ b/challenge-153/james-raspass/README @@ -0,0 +1 @@ +Solution by James Raspass. diff --git a/challenge-153/james-smith/README.md b/challenge-153/james-smith/README.md new file mode 100644 index 0000000000..9e00afbeab --- /dev/null +++ b/challenge-153/james-smith/README.md @@ -0,0 +1,158 @@ +[< Previous 151](https://github.com/drbaggy/perlweeklychallenge-club/tree/master/challenge-151/james-smith) | +[Next 153 >](https://github.com/drbaggy/perlweeklychallenge-club/tree/master/challenge-153/james-smith) +# The Weekly Challenge #152 + +You can find more information about this weeks, and previous weeks challenges at: + + https://theweeklychallenge.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-152/james-smith + +# Challenge 1 - Triangle Sum Path + +***You are given a triangle array. Write a script to find the minimum sum path from top to bottom.*** + +I'm going to outline two different solutions here - the first one is my first approach - which assumed that as +you went down the triangle you could only move to the next line either to the one adjacent to the left or the +right. The second solution removes this constraint and gives the answer in the question... + +## Solution a - can on move down and left or down and right + +This doesn't match the output supplied (but feels right). Note we are careful here to make the code "non-destructive" - care has to be taken that we do not shift/modify data from the rows passed in as this will affect the underlying structure. So we note that the `shift` is only done on the `@p` array of totals/paths. + +We start by initalizing a blank row {below the triangle} we than work up the triangle one row at a time, the lowest value for a given cell is the value of the cell plus the lowest value of either the left or right cell below. In the code `$p[0]` is the left hand cell and `$p[1]` is the right hand cell. + +Each time through the loop we generate a new version of `@p` with the best route for each entry. We can (with care) use a `map` to achieve this. We loop through each entry in the incoming data and combine this with the data for the two entries below. If the left hand entry is lower than the right we add the information from the left hand entry to the total, and to the list of numbers chosen to get there. We then need to remove the first entry of `@p` - we can do this with `shift @p` but we don't want that in the resultant array - to "hide" it we multiple the new array `($p[-1])` by `0` which gives us no copies of the array... bang the value we didn't want is gone...! + +```perl +sub min_path { + my @p = ( [0,[]] ) x (1 + @{$_[0]}); + @p = map { $p[0][0] < $p[1][0] ? [ $_+$p[0][0], [ $_, @{$p[0][1]} ] ] : [ $_+$p[1][0], [ $_, @{$p[1][1]} ] ], (shift @p) x 0 } @{$_} for reverse @{$_[0]}; + say sprintf 'Minimum value %d: [ %s ]', $p[0][0], join ', ', @{$p[0][1]}; + $p[0][0]; +} + +``` + +We can simplify this if we are not worried by the order - by storing a simple value (the minimum total for the path) rather than the pair total/path. + +```perl +sub min_path_total { + my @p = (0) x (1+@{$_[0]}); + @p = map { $_ + $p[$p[0]<$p[1]?0:1], (shift @p)x 0 } @{$_} for reverse @{$_[0]}; + $p[0]; +} +``` + +## Solution b - can move to any node + +This matches the output supplied (but feels wrong). In this case we just find the minimum value of each row and sum them together. Again we collect the values used in the path as we work down the triangle and display them at the end. + +```perl +sub min_path_anydir { + my ($res,@order) = 0; + foreach(@{$_[0]}) { + my $min = $_->[0]; + $_ < $min && ($min = $_) for @{$_}; + $res += $min; + push @order, $min; + } + say sprintf 'Minimum value %d: [ %s ]', $res, join ', ', @order; + $res; +} +``` + +Again we can simplify this function by removing the need to store `@order`. This is simpler as we just need to remove the two lines containing `@order`. Giving us: + +```perl +sub min_path_anydir_total { + my $res = 0; + foreach(@{$_[0]}) { + my $min = $_->[0]; + $_ < $min && ($min = $_) for @{$_}; + $res += $min; + } + $res; +} +``` +### Solution b - version 2... a 1-liner. + +To reduce the number of lines we can replace the minimum with a sort and take lowest value using `[sort {$a<=>$b} @{$_}]->[0]` this gives the following two functions... + +```perl +sub min_path_anydir_sort { + my($res,@order)= 0; + (push @order, [sort {$a<=>$b} @{$_}]->[0]), $res+=$order[-1] for @{$_[0]}; + say sprintf 'Minimum value %d: [ %s ]', $res, join ', ', @order; + $res; +} + +sub min_path_anydir_stot { + my $res=0; + $res += [sort {$a<=>$b} @{$_}]->[0] for @{$_[0]}; + $res; +} + +``` +# Challange 2 - Rectangle Area + +***You are given coordinates bottom-left and top-right corner of two rectangles in a 2D plane. Write a script to find the total area covered by the two rectangles.*** + +## The solution + +The area covered by the two rectangles is equal to the sum of the areas of the two rectangles minus the area of the intersection {as we count this twice}... + +To compute the overlap we can define a bounding region.. + +``` + ####################---------+ + # # | + # ################# + # # # # + # # # # + #################### # + | # # + +------------################# +``` + +We note that the height of the bounding region is the *max-top* - *min-bottom* but is also *height-1* + *height-2* - *height-intersection* if they overlap. If they don't overlap it is greater than the sum of the heights. + +So we can compute 3 heights: + * height of rectangle 1, + * height of rectangle 2, and + * height of the bounding-box minus the heights of rectangles 1 and 2. + +We do similarly for the 3 widths. + +Then the area is `w1*12 + w2*h2` and if there is an itersection *i.e.* both w3 & h3 are positive - we subtract `w3*h3`. + +This gives us the solution: + +```perl +sub my_area { + my ($l,$r,$L,$R) = @_; ## $l,$r are the bottom-left & top-right corners of rectangle 1 + ## $L,$R are the bottom-left & top-right corners of rectangle 2 + + ## Compute 3 widths and heights... + + my $w3 = ( my $w1 = $r->[0] - $l->[0] ) ## width rectangle 1 + + ( my $w2 = $R->[0] - $L->[0] ) ## width rectangle 2 + - ( $r->[0] > $R->[0] ? $r->[0] : $R->[0] ) ## right most point + + ( $l->[0] < $L->[0] ? $l->[0] : $L->[0] ); ## left most point + my $h3 = ( my $h1 = $r->[1] - $l->[1] ) ## height rectangle 1 + + ( my $h2 = $R->[1] - $L->[1] ) ## height rectangle 2 + - ( $r->[1] > $R->[1] ? $r->[1] : $R->[1] ) ## highest point + + ( $l->[1] < $L->[1] ? $l->[1] : $L->[1] ); ## lowest point + + ## Return result... + + $w1*$h1 + $w2*$h2 - ($w3>0 && $h3>0 && $w3*$h3); +} +``` + diff --git a/challenge-153/jan-perl/README b/challenge-153/jan-perl/README new file mode 100644 index 0000000000..70e335d7d7 --- /dev/null +++ b/challenge-153/jan-perl/README @@ -0,0 +1 @@ +Solution by Jan Hoogenraad diff --git a/challenge-153/jaredor/READ