From 1aa8ecccec917bbdee515fef036e8f84c47dae22 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 20 Dec 2021 11:38:27 +0000 Subject: - Added template for week 144. --- challenge-144/3ter/README | 1 + challenge-144/LoneWolfiNTj/README | 1 + challenge-144/aaron-rowe/README | 1 + challenge-144/aaron-sherman/README | 1 + challenge-144/aaronreidsmith/README | 1 + challenge-144/abigail/README.md | 17 ++ challenge-144/adam-russell/README | 1 + challenge-144/adherzog/README | 1 + challenge-144/ailbhe-tweedie/README | 1 + challenge-144/alex-daniel/README | 1 + challenge-144/alexander-karelas/README | 1 + challenge-144/alexander-pankoff/README | 1 + challenge-144/alicia-bielsa/README | 1 + challenge-144/andinus/README | 51 +++++ challenge-144/andrezgz/README | 1 + challenge-144/anton-fedotov/README | 1 + challenge-144/antonio-gamiz/README | 1 + challenge-144/arne-sommer/README | 1 + challenge-144/arpad-toth/README | 1 + challenge-144/ash/README | 1 + challenge-144/athanasius/README | 1 + challenge-144/aubrey-quarcoo/README | 1 + challenge-144/aviral-goel/README | 1 + challenge-144/belmark-caday/README | 1 + challenge-144/ben-davies/README.md | 1 + challenge-144/bill-palmer/README | 1 + challenge-144/bkb/README | 1 + challenge-144/bob-kleemann/README | 1 + challenge-144/bob-lied/README | 3 + challenge-144/brtastic/README | 1 + challenge-144/bruce-gray/README | 1 + challenge-144/bruno-ramos/README | 1 + challenge-144/burkhard-nickels/README | 1 + challenge-144/bwva/README | 1 + challenge-144/cheok-yin-fung/README | 1 + challenge-144/christian-jaeger/README | 1 + challenge-144/cliveholloway/README | 1 + challenge-144/colin-crain/README | 1 + challenge-144/conor-hoekstra/README | 1 + challenge-144/craig/README | 1 + challenge-144/creewick/README | 1 + challenge-144/cristian-heredia/README | 1 + challenge-144/cybersnyder/README | 1 + challenge-144/daniel-mantovani/README | 1 + challenge-144/daniel-mita/README | 1 + challenge-144/darren-bottin/README | 1 + challenge-144/dave-cross/README | 1 + challenge-144/dave-jacoby/README | 1 + challenge-144/david-kayal/README | 1 + challenge-144/david-santiago/README | 1 + challenge-144/ddobbelaere/README | 1 + challenge-144/deadmarshal/README | 1 + challenge-144/denis-yurashku/README | 1 + challenge-144/dms061/readme | 8 + challenge-144/donald-hunter/README | 1 + challenge-144/doug-schrag/README | 1 + challenge-144/dracos/README | 1 + challenge-144/duane-powell/README | 1 + challenge-144/duncan-c-white/README | 63 ++++++ challenge-144/e-choroba/README | 1 + challenge-144/ealvar3z/README | 1 + challenge-144/eddy-hs/README | 1 + challenge-144/eric-cheung/README | 1 + challenge-144/fabrizio-poggi/README | 1 + challenge-144/feng-chang/README | 1 + challenge-144/finanalyst/README | 1 + challenge-144/finley/README | 1 + challenge-144/fjwhittle/README | 1 + challenge-144/frankivo/README | 1 + challenge-144/fred-zinn/README | 1 + challenge-144/freddie-b/README | 1 + challenge-144/garrett-goebel/README | 1 + challenge-144/giuseppe-terlizzi/README | 1 + challenge-144/gugod/README | 1 + challenge-144/gugod/rust/.gitignore | 2 + challenge-144/guillermo-ramos/README | 1 + challenge-144/gurunandan-bhat/README | 1 + challenge-144/gustavo-chaves/README | 1 + challenge-144/hatorikibble/README | 1 + challenge-144/hauke-d/README | 1 + challenge-144/henry-wong/README | 1 + challenge-144/hstejas/README | 1 + challenge-144/iangoodnight/README.md | 1 + challenge-144/ianrifkin/README | 1 + challenge-144/izifresh/README | 1 + challenge-144/jacques-guinnebault/README | 1 + challenge-144/jaime/README | 59 ++++++ challenge-144/jake/README | 1 + challenge-144/jaldhar-h-vyas/README | 1 + challenge-144/james-raspass/README | 1 + challenge-144/james-smith/README.md | 140 ++++++++++++++ challenge-144/jan-perl/README | 1 + challenge-144/jaredor/README | 1 + challenge-144/jason-messer/README | 1 + challenge-144/javier-luque/README | 1 + challenge-144/jbourlakos/README | 1 + challenge-144/jcrosswh/README | 1 + challenge-144/jdos22/README | 1 + challenge-144/jeff/README | 1 + challenge-144/jeongoon/.gitignore | 5 + challenge-144/jeongoon/README | 1 + challenge-144/jeremy-carman/README | 1 + challenge-144/jim-bacon/README | 1 + challenge-144/jitu-keshwani/README | 1 + challenge-144/jj-merelo/README | 1 + challenge-144/jluis/README | 1 + challenge-144/jo-37/README | 1 + challenge-144/jo-christian-oterhals/README | 1 + challenge-144/joe-tym/README | 1 + challenge-144/joelle-maslak/README | 1 + challenge-144/john-barrett/README | 1 + challenge-144/jokraft/README | 1 + challenge-144/juan-caballero/README | 1 + challenge-144/julien-fiegehenn/README | 1 + challenge-144/juliodcs/README | 1 + challenge-144/kai-burgdorf/README.md | 1 + challenge-144/kaushik-tunuguntla/README | 1 + challenge-144/kevin-colyer/README | 3 + challenge-144/khalid/README | 1 + challenge-144/kian-meng-ang/README | 1 + challenge-144/kiran-kumar/README | 1 + challenge-144/kivanc-yazan/.gitignore | 2 + challenge-144/kivanc-yazan/README | 1 + challenge-144/kjetillll/README | 1 + challenge-144/kordaff/README | 1 + challenge-144/kostas-giannakakis/README | 1 + challenge-144/kurkale6ka/README | 1 + challenge-144/lance-wicks/README | 1 + challenge-144/lars-balker/README | 1 + challenge-144/lars-thegler/README | 1 + challenge-144/laurent-rosenfeld/README | 1 + challenge-144/leoltron/README | 1 + challenge-144/lubos-kolouch/README | 1 + challenge-144/luc65r/README | 1 + challenge-144/luca-ferrari/README | 1 + challenge-144/magnus-woldrich/README | 1 + challenge-144/manfredi/README | 1 + challenge-144/mano-chandar/README | 1 + challenge-144/mark-anderson/README | 1 + challenge-144/mark-senn/README | 1 + challenge-144/markjreed/README | 6 + challenge-144/markus-holzer/README | 1 + challenge-144/martin-barth/README | 1 + challenge-144/martin-mugeni/README | 1 + challenge-144/mathmauney/README | 1 + challenge-144/matt-latusek/README | 1 + challenge-144/matthew-persico/README | 1 + challenge-144/mattneleigh/README | 1 + challenge-144/maxim-kolodyazhny/README | 1 + challenge-144/maxim-nechaev/README | 1 + challenge-144/michael-hamlin/README | 5 + challenge-144/michael-schaap/README | 1 + challenge-144/mihail-iosilevitch/README | 1 + challenge-144/mike-accardo/README | 1 + challenge-144/mimosinnet/README | 1 + challenge-144/mohammad-anwar/README | 1 + challenge-144/ndelucca/README | 1 + challenge-144/neil-bowers/README | 1 + challenge-144/nick-logan/README | 1 + challenge-144/nikhil-prasanna/README | 1 + challenge-144/noud/README | 1 + challenge-144/nunovieira220/README | 1 + challenge-144/ohmycloud/README | 1 + challenge-144/oleksii-tsvietnov/README | 1 + challenge-144/olivier-delouya/README | 1 + challenge-144/olli-antti/README | 1 + challenge-144/orestis-zekai/README | 1 + challenge-144/ozzy/README | 1 + challenge-144/p6steve/README | 1 + challenge-144/pablo-saavedra/README | 1 + challenge-144/paul-fajman/README | 1 + challenge-144/paulo-custodio/Makefile | 2 + challenge-144/paulo-custodio/README | 1 + challenge-144/pavel-jurca/README | 1 + challenge-144/pavel-starikov/README | 1 + challenge-144/pavel_kuptsov/README | 2 + challenge-144/perlboy1967/README | 1 + challenge-144/pete-houston/README | 1 + challenge-144/pete-sergeant/README | 1 + challenge-144/peter-campbell-smith/README | 1 + challenge-144/peter-meszaros/README | 1 + challenge-144/peter-scott/README | 1 + challenge-144/petr-roubicek/README | 1 + challenge-144/philippe-bruhat/README | 1 + challenge-144/phillip-harris/README | 1 + challenge-144/pjdurai/README | 1 + challenge-144/pkmnx/README | 1 + challenge-144/plis-acm/.gitignore | 1 + challenge-144/plis-acm/README | 1 + challenge-144/polettix/README | 1 + challenge-144/polettix/perl/.gitignore | 1 + challenge-144/polettix/raku/.leaveme | 0 challenge-144/prajith-p/README | 1 + challenge-144/rage311/README | 1 + challenge-144/rakulius/README | 1 + challenge-144/randy-lauen/README | 1 + challenge-144/richard-park/README | 1 + challenge-144/rnuttall/README | 1 + challenge-144/rob-van-dam/README | 1 + challenge-144/rob4t/README | 1 + challenge-144/robert-dicicco/README | 1 + challenge-144/roger-bell-west/README | 1 + challenge-144/ruben-westerberg/README | 9 + challenge-144/ryan-thompson/README.md | 19 ++ challenge-144/saiftynet/README | 1 + challenge-144/samir-parikh/README | 1 + challenge-144/sangeet-kar/README | 1 + challenge-144/sean-meininger/README | 1 + challenge-144/sergiotarxz/README | 1 + challenge-144/sgreen/README.md | 3 + challenge-144/shahed-nooshmand/README | 1 + challenge-144/shardiwal/README | 1 + challenge-144/shaun-pearce/README | 1 + challenge-144/shawak/README.md | 1 + challenge-144/shawn-wagner/README | 1 + challenge-144/simon-miner/README | 1 + challenge-144/simon-proctor/README | 1 + challenge-144/simon-reinhardt/README | 1 + challenge-144/sol-demuth/README | 1 + challenge-144/southpawgeek/README | 1 + challenge-144/stephanie-stein/README | 1 + challenge-144/steve-bresson/README | 1 + challenge-144/steve-rogerson/README | 1 + challenge-144/steven-lembark/README | 1 + challenge-144/steven-wilson/README | 1 + challenge-144/stuart-little/README | 1 + challenge-144/svetlana-nesterova/README | 1 + challenge-144/swaggboi/README | 1 + challenge-144/szabgab/README | 1 + challenge-144/ted-leahy/README | 1 + challenge-144/testerR59/README | 1 + challenge-144/tiago-stock/README | 1 + challenge-144/tim-smith/README | 1 + challenge-144/tore-andersson/README | 1 + challenge-144/trenton-langer/README | 1 + challenge-144/tyler-limkemann/README | 1 + challenge-144/tyler-wardhaugh/README | 1 + challenge-144/tyler-wardhaugh/clojure/.gitignore | 16 ++ challenge-144/tyler-wardhaugh/clojure/LICENSE | 214 +++++++++++++++++++++ challenge-144/tyler-wardhaugh/clojure/README.md | 48 +++++ challenge-144/tyler-wardhaugh/clojure/bb.edn | 102 ++++++++++ challenge-144/tyler-wardhaugh/clojure/deps.edn | 14 ++ challenge-144/tyler-wardhaugh/clojure/pom.xml | 44 +++++ .../tyler-wardhaugh/clojure/resources/.keep | 0 challenge-144/tyler-wardhaugh/python/.gitignore | 24 +++ challenge-144/tyler-wardhaugh/python/Makefile | 13 ++ challenge-144/ulrich-rieke/README | 1 + challenge-144/user-person/README | 1 + challenge-144/uzluisf/README | 1 + challenge-144/veesh-goldman/README | 1 + challenge-144/vinod-k/README | 1 + challenge-144/vinod-pal/README | 1 + challenge-144/vyacheslav-volgarev/README | 1 + challenge-144/walt-mankowski/README.md | 58 ++++++ challenge-144/walt-mankowski/c/.gitignore | 2 + challenge-144/walt-mankowski/cpp/.gitignore | 2 + .../walt-mankowski/python/.python-version | 1 + challenge-144/wambash/README | 1 + challenge-144/wanderdoc/README | 1 + challenge-144/will-west/README | 1 + challenge-144/william-gilmore/README | 1 + challenge-144/wlmb/README | 1 + challenge-144/x1mandi/README | 1 + challenge-144/xkr47/README | 11 ++ challenge-144/xliff/README | 1 + challenge-144/yary-h/README | 1 + challenge-144/yet-ebreo/README | 1 + challenge-144/yozen-hernandez/README | 1 + challenge-144/ziameraj16/README.md | 34 ++++ .../ziameraj16/kotlin/META-INF/main.kotlin_module | Bin 0 -> 24 bytes challenge-144/ziruzavar/README | 1 + script/clean-up-dir.sh | 1 + 272 files changed, 1219 insertions(+) create mode 100644 challenge-144/3ter/README create mode 100755 challenge-144/LoneWolfiNTj/README create mode 100644 challenge-144/aaron-rowe/README create mode 100644 challenge-144/aaron-sherman/README create mode 100644 challenge-144/aaronreidsmith/README create mode 100644 challenge-144/abigail/README.md create mode 100644 challenge-144/adam-russell/README create mode 100644 challenge-144/adherzog/README create mode 100644 challenge-144/ailbhe-tweedie/README create mode 100644 challenge-144/alex-daniel/README create mode 100644 challenge-144/alexander-karelas/README create mode 100644 challenge-144/alexander-pankoff/README create mode 100644 challenge-144/alicia-bielsa/README create mode 100644 challenge-144/andinus/README create mode 100644 challenge-144/andrezgz/README create mode 100644 challenge-144/anton-fedotov/README create mode 100644 challenge-144/antonio-gamiz/README create mode 100644 challenge-144/arne-sommer/README create mode 100644 challenge-144/arpad-toth/README create mode 100644 challenge-144/ash/README create mode 100644 challenge-144/athanasius/README create mode 100644 challenge-144/aubrey-quarcoo/README create mode 100644 challenge-144/aviral-goel/README create mode 100644 challenge-144/belmark-caday/README create mode 100644 challenge-144/ben-davies/README.md create mode 100644 challenge-144/bill-palmer/README create mode 100644 challenge-144/bkb/README create mode 100644 challenge-144/bob-kleemann/README create mode 100644 challenge-144/bob-lied/README create mode 100644 challenge-144/brtastic/README create mode 100644 challenge-144/bruce-gray/README create mode 100644 challenge-144/bruno-ramos/README create mode 100644 challenge-144/burkhard-nickels/README create mode 100644 challenge-144/bwva/README create mode 100644 challenge-144/cheok-yin-fung/README create mode 100644 challenge-144/christian-jaeger/README create mode 100644 challenge-144/cliveholloway/README create mode 100644 challenge-144/colin-crain/README create mode 100644 challenge-144/conor-hoekstra/README create mode 100644 challenge-144/craig/README create mode 100644 challenge-144/creewick/README create mode 100644 challenge-144/cristian-heredia/README create mode 100644 challenge-144/cybersnyder/README create mode 100644 challenge-144/daniel-mantovani/README create mode 100644 challenge-144/daniel-mita/README create mode 100644 challenge-144/darren-bottin/README create mode 100644 challenge-144/dave-cross/README create mode 100644 challenge-144/dave-jacoby/README create mode 100644 challenge-144/david-kayal/README create mode 100644 challenge-144/david-santiago/README create mode 100644 challenge-144/ddobbelaere/README create mode 100644 challenge-144/deadmarshal/README create mode 100644 challenge-144/denis-yurashku/README create mode 100644 challenge-144/dms061/readme create mode 100644 challenge-144/donald-hunter/README create mode 100644 challenge-144/doug-schrag/README create mode 100644 challenge-144/dracos/README create mode 100644 challenge-144/duane-powell/README create mode 100644 challenge-144/duncan-c-white/README create mode 100644 challenge-144/e-choroba/README create mode 100644 challenge-144/ealvar3z/README create mode 100644 challenge-144/eddy-hs/README create mode 100644 challenge-144/eric-cheung/README create mode 100644 challenge-144/fabrizio-poggi/README create mode 100644 challenge-144/feng-chang/README create mode 100644 challenge-144/finanalyst/README create mode 100644 challenge-144/finley/README create mode 100644 challenge-144/fjwhittle/README create mode 100644 challenge-144/frankivo/README create mode 100644 challenge-144/fred-zinn/README create mode 100644 challenge-144/freddie-b/README create mode 100644 challenge-144/garrett-goebel/README create mode 100644 challenge-144/giuseppe-terlizzi/README create mode 100644 challenge-144/gugod/README create mode 100644 challenge-144/gugod/rust/.gitignore create mode 100644 challenge-144/guillermo-ramos/README create mode 100644 challenge-144/gurunandan-bhat/README create mode 100644 challenge-144/gustavo-chaves/README create mode 100644 challenge-144/hatorikibble/README create mode 100644 challenge-144/hauke-d/README create mode 100644 challenge-144/henry-wong/README create mode 100644 challenge-144/hstejas/README create mode 100644 challenge-144/iangoodnight/README.md create mode 100644 challenge-144/ianrifkin/README create mode 100644 challenge-144/izifresh/README create mode 100644 challenge-144/jacques-guinnebault/README create mode 100644 challenge-144/jaime/README create mode 100644 challenge-144/jake/README create mode 100644 challenge-144/jaldhar-h-vyas/README create mode 100644 challenge-144/james-raspass/README create mode 100644 challenge-144/james-smith/README.md create mode 100644 challenge-144/jan-perl/README create mode 100644 challenge-144/jaredor/README create mode 100644 challenge-144/jason-messer/README create mode 100644 challenge-144/javier-luque/README create mode 100644 challenge-144/jbourlakos/README create mode 100644 challenge-144/jcrosswh/README create mode 100644 challenge-144/jdos22/README create mode 100644 challenge-144/jeff/README create mode 100644 challenge-144/jeongoon/.gitignore create mode 100644 challenge-144/jeongoon/README create mode 100644 challenge-144/jeremy-carman/README create mode 100644 challenge-144/jim-bacon/README create mode 100644 challenge-144/jitu-keshwani/README create mode 100644 challenge-144/jj-merelo/README create mode 100644 challenge-144/jluis/README create mode 100644 challenge-144/jo-37/README create mode 100644 challenge-144/jo-christian-oterhals/README create mode 100644 challenge-144/joe-tym/README create mode 100644 challenge-144/joelle-maslak/README create mode 100644 challenge-144/john-barrett/README create mode 100644 challenge-144/jokraft/README create mode 100644 challenge-144/juan-caballero/README create mode 100644 challenge-144/julien-fiegehenn/README create mode 100644 challenge-144/juliodcs/README create mode 100644 challenge-144/kai-burgdorf/README.md create mode 100644 challenge-144/kaushik-tunuguntla/README create mode 100644 challenge-144/kevin-colyer/README create mode 100644 challenge-144/khalid/README create mode 100644 challenge-144/kian-meng-ang/README create mode 100644 challenge-144/kiran-kumar/README create mode 100644 challenge-144/kivanc-yazan/.gitignore create mode 100644 challenge-144/kivanc-yazan/README create mode 100644 challenge-144/kjetillll/README create mode 100644 challenge-144/kordaff/README create mode 100644 challenge-144/kostas-giannakakis/README create mode 100644 challenge-144/kurkale6ka/README create mode 100644 challenge-144/lance-wicks/README create mode 100644 challenge-144/lars-balker/README create mode 100644 challenge-144/lars-thegler/README create mode 100644 challenge-144/laurent-rosenfeld/README create mode 100644 challenge-144/leoltron/README create mode 100644 challenge-144/lubos-kolouch/README create mode 100644 challenge-144/luc65r/README create mode 100644 challenge-144/luca-ferrari/README create mode 100644 challenge-144/magnus-woldrich/README create mode 100644 challenge-144/manfredi/README create mode 100644 challenge-144/mano-chandar/README create mode 100644 challenge-144/mark-anderson/README create mode 100644 challenge-144/mark-senn/README create mode 100644 challenge-144/markjreed/README create mode 100644 challenge-144/markus-holzer/README create mode 100644 challenge-144/martin-barth/README create mode 100644 challenge-144/martin-mugeni/README create mode 100644 challenge-144/mathmauney/README create mode 100644 challenge-144/matt-latusek/README create mode 100644 challenge-144/matthew-persico/README create mode 100644 challenge-144/mattneleigh/README create mode 100644 challenge-144/maxim-kolodyazhny/README create mode 100644 challenge-144/maxim-nechaev/README create mode 100644 challenge-144/michael-hamlin/README create mode 100644 challenge-144/michael-schaap/README create mode 100644 challenge-144/mihail-iosilevitch/README create mode 100644 challenge-144/mike-accardo/README create mode 100644 challenge-144/mimosinnet/README create mode 100644 challenge-144/mohammad-anwar/README create mode 100644 challenge-144/ndelucca/README create mode 100644 challenge-144/neil-bowers/README create mode 100644 challenge-144/nick-logan/README create mode 100644 challenge-144/nikhil-prasanna/README create mode 100644 challenge-144/noud/README create mode 100644 challenge-144/nunovieira220/README create mode 100644 challenge-144/ohmycloud/README create mode 100644 challenge-144/oleksii-tsvietnov/README create mode 100644 challenge-144/olivier-delouya/README create mode 100644 challenge-144/olli-antti/README create mode 100644 challenge-144/orestis-zekai/README create mode 100644 challenge-144/ozzy/README create mode 100644 challenge-144/p6steve/README create mode 100644 challenge-144/pablo-saavedra/README create mode 100644 challenge-144/paul-fajman/README create mode 100644 challenge-144/paulo-custodio/Makefile create mode 100644 challenge-144/paulo-custodio/README create mode 100644 challenge-144/pavel-jurca/README create mode 100644 challenge-144/pavel-starikov/README create mode 100644 challenge-144/pavel_kuptsov/README create mode 100644 challenge-144/perlboy1967/README create mode 100644 challenge-144/pete-houston/README create mode 100644 challenge-144/pete-sergeant/README create mode 100644 challenge-144/peter-campbell-smith/README create mode 100644 challenge-144/peter-meszaros/README create mode 100644 challenge-144/peter-scott/README create mode 100644 challenge-144/petr-roubicek/README create mode 100644 challenge-144/philippe-bruhat/README create mode 100644 challenge-144/phillip-harris/README create mode 100644 challenge-144/pjdurai/README create mode 100644 challenge-144/pkmnx/README create mode 100644 challenge-144/plis-acm/.gitignore create mode 100644 challenge-144/plis-acm/README create mode 100644 challenge-144/polettix/README create mode 100644 challenge-144/polettix/perl/.gitignore create mode 100644 challenge-144/polettix/raku/.leaveme create mode 100644 challenge-144/prajith-p/README create mode 100644 challenge-144/rage311/README create mode 100644 challenge-144/rakulius/README create mode 100644 challenge-144/randy-lauen/README create mode 100644 challenge-144/richard-park/README create mode 100644 challenge-144/rnuttall/README create mode 100644 challenge-144/rob-van-dam/README create mode 100644 challenge-144/rob4t/README create mode 100644 challenge-144/robert-dicicco/README create mode 100644 challenge-144/roger-bell-west/README create mode 100644 challenge-144/ruben-westerberg/README create mode 100644 challenge-144/ryan-thompson/README.md create mode 100644 challenge-144/saiftynet/README create mode 100644 challenge-144/samir-parikh/README create mode 100644 challenge-144/sangeet-kar/README create mode 100644 challenge-144/sean-meininger/README create mode 100644 challenge-144/sergiotarxz/README create mode 100644 challenge-144/sgreen/README.md create mode 100644 challenge-144/shahed-nooshmand/README create mode 100644 challenge-144/shardiwal/README create mode 100644 challenge-144/shaun-pearce/README create mode 100644 challenge-144/shawak/README.md create mode 100644 challenge-144/shawn-wagner/README create mode 100644 challenge-144/simon-miner/README create mode 100644 challenge-144/simon-proctor/README create mode 100644 challenge-144/simon-reinhardt/README create mode 100644 challenge-144/sol-demuth/README create mode 100644 challenge-144/southpawgeek/README create mode 100644 challenge-144/stephanie-stein/README create mode 100644 challenge-144/steve-bresson/README create mode 100644 challenge-144/steve-rogerson/README create mode 100644 challenge-144/steven-lembark/README create mode 100644 challenge-144/steven-wilson/README create mode 100644 challenge-144/stuart-little/README create mode 100644 challenge-144/svetlana-nesterova/README create mode 100644 challenge-144/swaggboi/README create mode 100644 challenge-144/szabgab/README create mode 100644 challenge-144/ted-leahy/README create mode 100644 challenge-144/testerR59/README create mode 100644 challenge-144/tiago-stock/README create mode 100644 challenge-144/tim-smith/README create mode 100644 challenge-144/tore-andersson/README create mode 100644 challenge-144/trenton-langer/README create mode 100644 challenge-144/tyler-limkemann/README create mode 100644 challenge-144/tyler-wardhaugh/README create mode 100644 challenge-144/tyler-wardhaugh/clojure/.gitignore create mode 100644 challenge-144/tyler-wardhaugh/clojure/LICENSE create mode 100644 challenge-144/tyler-wardhaugh/clojure/README.md create mode 100644 challenge-144/tyler-wardhaugh/clojure/bb.edn create mode 100644 challenge-144/tyler-wardhaugh/clojure/deps.edn create mode 100644 challenge-144/tyler-wardhaugh/clojure/pom.xml create mode 100644 challenge-144/tyler-wardhaugh/clojure/resources/.keep create mode 100644 challenge-144/tyler-wardhaugh/python/.gitignore create mode 100644 challenge-144/tyler-wardhaugh/python/Makefile create mode 100644 challenge-144/ulrich-rieke/README create mode 100644 challenge-144/user-person/README create mode 100644 challenge-144/uzluisf/README create mode 100644 challenge-144/veesh-goldman/README create mode 100644 challenge-144/vinod-k/README create mode 100644 challenge-144/vinod-pal/README create mode 100644 challenge-144/vyacheslav-volgarev/README create mode 100644 challenge-144/walt-mankowski/README.md create mode 100644 challenge-144/walt-mankowski/c/.gitignore create mode 100644 challenge-144/walt-mankowski/cpp/.gitignore create mode 100644 challenge-144/walt-mankowski/python/.python-version create mode 100644 challenge-144/wambash/README create mode 100644 challenge-144/wanderdoc/README create mode 100644 challenge-144/will-west/README create mode 100644 challenge-144/william-gilmore/README create mode 100644 challenge-144/wlmb/README create mode 100644 challenge-144/x1mandi/README create mode 100644 challenge-144/xkr47/README create mode 100644 challenge-144/xliff/README create mode 100644 challenge-144/yary-h/README create mode 100644 challenge-144/yet-ebreo/README create mode 100644 challenge-144/yozen-hernandez/README create mode 100644 challenge-144/ziameraj16/README.md create mode 100644 challenge-144/ziameraj16/kotlin/META-INF/main.kotlin_module create mode 100644 challenge-144/ziruzavar/README diff --git a/challenge-144/3ter/README b/challenge-144/3ter/README new file mode 100644 index 0000000000..8c594431f3 --- /dev/null +++ b/challenge-144/3ter/README @@ -0,0 +1 @@ +Solutions by 3ter. diff --git a/challenge-144/LoneWolfiNTj/README b/challenge-144/LoneWolfiNTj/README new file mode 100755 index 0000000000..bf42ad2482 --- /dev/null +++ b/challenge-144/LoneWolfiNTj/README @@ -0,0 +1 @@ +Solution by Robbie Hatley (github user "LoneWolfiNTj"). \ No newline at end of file diff --git a/challenge-144/aaron-rowe/README b/challenge-144/aaron-rowe/README new file mode 100644 index 0000000000..e14e0782fb --- /dev/null +++ b/challenge-144/aaron-rowe/README @@ -0,0 +1 @@ +Solutions by Aaron Rowe. diff --git a/challenge-144/aaron-sherman/README b/challenge-144/aaron-sherman/README new file mode 100644 index 0000000000..14ec31f570 --- /dev/null +++ b/challenge-144/aaron-sherman/README @@ -0,0 +1 @@ +Solutions by Aaron Sherman. diff --git a/challenge-144/aaronreidsmith/README b/challenge-144/aaronreidsmith/README new file mode 100644 index 0000000000..2fcfe1fdcc --- /dev/null +++ b/challenge-144/aaronreidsmith/README @@ -0,0 +1 @@ +Solution by Aaron Smith diff --git a/challenge-144/abigail/README.md b/challenge-144/abigail/README.md new file mode 100644 index 0000000000..48a5093c46 --- /dev/null +++ b/challenge-144/abigail/README.md @@ -0,0 +1,17 @@ +# Solutions by Abigail + +## Part 1 + +* [Bash](bash/ch-1.sh) +* [Bc](bc/ch-1.bc) +* [Lua](lua/ch-1.lua) +* [Node.js](node/ch-1.js) +* [Perl](perl/ch-1.pl) +* [Python](python/ch-1.py) +* [R](r/ch-1.r) +* [Ruby](ruby/ch-1.rb) +* [Tcl](tcl/ch-1.tcl) + +## Part 2 + +* [Perl](perl/ch-2.pl) diff --git a/challenge-144/adam-russell/README b/challenge-144/adam-russell/README new file mode 100644 index 0000000000..1d2e2957c5 --- /dev/null +++ b/challenge-144/adam-russell/README @@ -0,0 +1 @@ +Solution by Adam Russell diff --git a/challenge-144/adherzog/README b/challenge-144/adherzog/README new file mode 100644 index 0000000000..b59913be6c --- /dev/null +++ b/challenge-144/adherzog/README @@ -0,0 +1 @@ +Solutions by Adam Herzog. diff --git a/challenge-144/ailbhe-tweedie/README b/challenge-144/ailbhe-tweedie/README new file mode 100644 index 0000000000..36d4034b70 --- /dev/null +++ b/challenge-144/ailbhe-tweedie/README @@ -0,0 +1 @@ +Solution by Ailbhe Tweedie diff --git a/challenge-144/alex-daniel/README b/challenge-144/alex-daniel/README new file mode 100644 index 0000000000..65550789bd --- /dev/null +++ b/challenge-144/alex-daniel/README @@ -0,0 +1 @@ +Solution by Alex Daniel. diff --git a/challenge-144/alexander-karelas/README b/challenge-144/alexander-karelas/README new file mode 100644 index 0000000000..3de9fce8d9 --- /dev/null +++ b/challenge-144/alexander-karelas/README @@ -0,0 +1 @@ +Solution by Alexander Karelas diff --git a/challenge-144/alexander-pankoff/README b/challenge-144/alexander-pankoff/README new file mode 100644 index 0000000000..41f67807ac --- /dev/null +++ b/challenge-144/alexander-pankoff/README @@ -0,0 +1 @@ +Solution by Alexander Pankoff diff --git a/challenge-144/alicia-bielsa/README b/challenge-144/alicia-bielsa/README new file mode 100644 index 0000000000..c5187874c3 --- /dev/null +++ b/challenge-144/alicia-bielsa/README @@ -0,0 +1 @@ +Solution by Alicia Beilsa. diff --git a/challenge-144/andinus/README b/challenge-144/andinus/README new file mode 100644 index 0000000000..bd1dd6e3ce --- /dev/null +++ b/challenge-144/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-144/andrezgz/README b/challenge-144/andrezgz/README new file mode 100644 index 0000000000..f4fd0da88e --- /dev/null +++ b/challenge-144/andrezgz/README @@ -0,0 +1 @@ +Solution by Andrezgz diff --git a/challenge-144/anton-fedotov/README b/challenge-144/anton-fedotov/README new file mode 100644 index 0000000000..f7c4f6deed --- /dev/null +++ b/challenge-144/anton-fedotov/README @@ -0,0 +1 @@ +Solutions by Anton Fedotov. diff --git a/challenge-144/antonio-gamiz/README b/challenge-144/antonio-gamiz/README new file mode 100644 index 0000000000..1f5ed5871a --- /dev/null +++ b/challenge-144/antonio-gamiz/README @@ -0,0 +1 @@ +Solution by Antonio Gamiz diff --git a/challenge-144/arne-sommer/README b/challenge-144/arne-sommer/README new file mode 100644 index 0000000000..b5d88e4df4 --- /dev/null +++ b/challenge-144/arne-sommer/README @@ -0,0 +1 @@ +Solution by Arne Sommer. diff --git a/challenge-144/arpad-toth/README b/challenge-144/arpad-toth/README new file mode 100644 index 0000000000..6661dd82c1 --- /dev/null +++ b/challenge-144/arpad-toth/README @@ -0,0 +1 @@ +Solution by Arpad Toth diff --git a/challenge-144/ash/README b/challenge-144/ash/README new file mode 100644 index 0000000000..318b1bfb41 --- /dev/null +++ b/challenge-144/ash/README @@ -0,0 +1 @@ +Solutions by Andrew Shitov diff --git a/challenge-144/athanasius/README b/challenge-144/athanasius/README new file mode 100644 index 0000000000..cc357fda4a --- /dev/null +++ b/challenge-144/athanasius/README @@ -0,0 +1 @@ +Solution by Athanasius diff --git a/challenge-144/aubrey-quarcoo/README b/challenge-144/aubrey-quarcoo/README new file mode 100644 index 0000000000..8e63a2c1f5 --- /dev/null +++ b/challenge-144/aubrey-quarcoo/README @@ -0,0 +1 @@ +Solution by Aubrey Quarcoo diff --git a/challenge-144/aviral-goel/README b/challenge-144/aviral-goel/README new file mode 100644 index 0000000000..e64ee14512 --- /dev/null +++ b/challenge-144/aviral-goel/README @@ -0,0 +1 @@ +Solutions by Aviral Goel. diff --git a/challenge-144/belmark-caday/README b/challenge-144/belmark-caday/README new file mode 100644 index 0000000000..6726590965 --- /dev/null +++ b/challenge-144/belmark-caday/README @@ -0,0 +1 @@ +Solutions by Belmark Caday. diff --git a/challenge-144/ben-davies/README.md b/challenge-144/ben-davies/README.md new file mode 100644 index 0000000000..77158344c9 --- /dev/null +++ b/challenge-144/ben-davies/README.md @@ -0,0 +1 @@ +Solution by Ben Davies diff --git a/challenge-144/bill-palmer/README b/challenge-144/bill-palmer/README new file mode 100644 index 0000000000..08ec849a41 --- /dev/null +++ b/challenge-144/bill-palmer/README @@ -0,0 +1 @@ +Solution by Bill Palmer. diff --git a/challenge-144/bkb/README b/challenge-144/bkb/README new file mode 100644 index 0000000000..4721993bb3 --- /dev/null +++ b/challenge-144/bkb/README @@ -0,0 +1 @@ +Solution by Ben Bullock. diff --git a/challenge-144/bob-kleemann/README b/challenge-144/bob-kleemann/README new file mode 100644 index 0000000000..78680e4035 --- /dev/null +++ b/challenge-144/bob-kleemann/README @@ -0,0 +1 @@ +Solution by Bob Kleemann diff --git a/challenge-144/bob-lied/README b/challenge-144/bob-lied/README new file mode 100644 index 0000000000..c231e3a589 --- /dev/null +++ b/challenge-144/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-144/brtastic/README b/challenge-144/brtastic/README new file mode 100644 index 0000000000..0fbe79fd6f --- /dev/null +++ b/challenge-144/brtastic/README @@ -0,0 +1 @@ +Solutions by Bartosz Jarzyna. diff --git a/challenge-144/bruce-gray/README b/challenge-144/bruce-gray/README new file mode 100644 index 0000000000..5d0deab51b --- /dev/null +++ b/challenge-144/bruce-gray/README @@ -0,0 +1 @@ +Solutions by Bruce Gray. diff --git a/challenge-144/bruno-ramos/README b/challenge-144/bruno-ramos/README new file mode 100644 index 0000000000..9d631dad8f --- /dev/null +++ b/challenge-144/bruno-ramos/README @@ -0,0 +1 @@ +Solutions by Bruno Ramos. diff --git a/challenge-144/burkhard-nickels/README b/challenge-144/burkhard-nickels/README new file mode 100644 index 0000000000..f5e16bb98b --- /dev/null +++ b/challenge-144/burkhard-nickels/README @@ -0,0 +1 @@ +Solutions by Burkhard Nickels. diff --git a/challenge-144/bwva/README b/challenge-144/bwva/README new file mode 100644 index 0000000000..ee6a7d7dc1 --- /dev/null +++ b/challenge-144/bwva/README @@ -0,0 +1 @@ +Solution(s) by bwva (Bruce Van Allen) diff --git a/challenge-144/cheok-yin-fung/README b/challenge-144/cheok-yin-fung/README new file mode 100644 index 0000000000..4413b13ada --- /dev/null +++ b/challenge-144/cheok-yin-fung/README @@ -0,0 +1 @@ +Solutions by Cheok-Yin Fung. diff --git a/challenge-144/christian-jaeger/README b/challenge-144/christian-jaeger/README new file mode 100644 index 0000000000..4ef4f11c10 --- /dev/null +++ b/challenge-144/christian-jaeger/README @@ -0,0 +1 @@ +Solution by Christian Jaeger diff --git a/challenge-144/cliveholloway/README b/challenge-144/cliveholloway/README new file mode 100644 index 0000000000..b69201296e --- /dev/null +++ b/challenge-144/cliveholloway/README @@ -0,0 +1 @@ +Solution by Clive Holloway diff --git a/challenge-144/colin-crain/README b/challenge-144/colin-crain/README new file mode 100644 index 0000000000..2a5d87e97d --- /dev/null +++ b/challenge-144/colin-crain/README @@ -0,0 +1 @@ +Solutions by Colin Crain. diff --git a/challenge-144/conor-hoekstra/README b/challenge-144/conor-hoekstra/README new file mode 100644 index 0000000000..d04e921681 --- /dev/null +++ b/challenge-144/conor-hoekstra/README @@ -0,0 +1 @@ +Solutions by Conor Hoekstra. diff --git a/challenge-144/craig/README b/challenge-144/craig/README new file mode 100644 index 0000000000..18088481eb --- /dev/null +++ b/challenge-144/craig/README @@ -0,0 +1 @@ +Solutions by Craig. diff --git a/challenge-144/creewick/README b/challenge-144/creewick/README new file mode 100644 index 0000000000..c490e4fb80 --- /dev/null +++ b/challenge-144/creewick/README @@ -0,0 +1 @@ +Solutions by Creewick. diff --git a/challenge-144/cristian-heredia/README b/challenge-144/cristian-heredia/README new file mode 100644 index 0000000000..c53da8a54c --- /dev/null +++ b/challenge-144/cristian-heredia/README @@ -0,0 +1 @@ +Solutions by Cristina Heredia. diff --git a/challenge-144/cybersnyder/README b/challenge-144/cybersnyder/README new file mode 100644 index 0000000000..b5afea93b0 --- /dev/null +++ b/challenge-144/cybersnyder/README @@ -0,0 +1 @@ +Solution by Rich Snyder aka cybersnyder diff --git a/challenge-144/daniel-mantovani/README b/challenge-144/daniel-mantovani/README new file mode 100644 index 0000000000..ed538216f2 --- /dev/null +++ b/challenge-144/daniel-mantovani/README @@ -0,0 +1 @@ +Solution by Daniel Mantovani diff --git a/challenge-144/daniel-mita/README b/challenge-144/daniel-mita/README new file mode 100644 index 0000000000..37339f491f --- /dev/null +++ b/challenge-144/daniel-mita/README @@ -0,0 +1 @@ +Solution by Daniel Mita diff --git a/challenge-144/darren-bottin/README b/challenge-144/darren-bottin/README new file mode 100644 index 0000000000..6c792afe8e --- /dev/null +++ b/challenge-144/darren-bottin/README @@ -0,0 +1 @@ +Solutions by Darren Bottin. diff --git a/challenge-144/dave-cross/README b/challenge-144/dave-cross/README new file mode 100644 index 0000000000..04b1b0623b --- /dev/null +++ b/challenge-144/dave-cross/README @@ -0,0 +1 @@ +Solution by Dave Cross diff --git a/challenge-144/dave-jacoby/README b/challenge-144/dave-jacoby/README new file mode 100644 index 0000000000..7c06689f16 --- /dev/null +++ b/challenge-144/dave-jacoby/README @@ -0,0 +1 @@ +Solution by Dave Jacoby diff --git a/challenge-144/david-kayal/README b/challenge-144/david-kayal/README new file mode 100644 index 0000000000..66f8615260 --- /dev/null +++ b/challenge-144/david-kayal/README @@ -0,0 +1 @@ +Solution by David Kayal diff --git a/challenge-144/david-santiago/README b/challenge-144/david-santiago/README new file mode 100644 index 0000000000..07584efe1d --- /dev/null +++ b/challenge-144/david-santiago/README @@ -0,0 +1 @@ +Solutions by David Santiago. diff --git a/challenge-144/ddobbelaere/README b/challenge-144/ddobbelaere/README new file mode 100644 index 0000000000..36f8cdcd67 --- /dev/null +++ b/challenge-144/ddobbelaere/README @@ -0,0 +1 @@ +Solution by Dieter Dobbelaere diff --git a/challenge-144/deadmarshal/README b/challenge-144/deadmarshal/README new file mode 100644 index 0000000000..243097dede --- /dev/null +++ b/challenge-144/deadmarshal/README @@ -0,0 +1 @@ +Solution by Ali Moradi \ No newline at end of file diff --git a/challenge-144/denis-yurashku/README b/challenge-144/denis-yurashku/README new file mode 100644 index 0000000000..2fea994000 --- /dev/null +++ b/challenge-144/denis-yurashku/README @@ -0,0 +1 @@ +Solutions by Denis Yurashku. diff --git a/challenge-144/dms061/readme b/challenge-144/dms061/readme new file mode 100644 index 0000000000..e2684c7d25 --- /dev/null +++ b/challenge-144/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-144/donald-hunter/README b/challenge-144/donald-hunter/README new file mode 100644 index 0000000000..2eef878f17 --- /dev/null +++ b/challenge-144/donald-hunter/README @@ -0,0 +1 @@ +Solutions by Donald Hunter. diff --git a/challenge-144/doug-schrag/README b/challenge-144/doug-schrag/README new file mode 100644 index 0000000000..bf8a10ffb4 --- /dev/null +++ b/challenge-144/doug-schrag/README @@ -0,0 +1 @@ +Solution by Doug Schrag diff --git a/challenge-144/dracos/README b/challenge-144/dracos/README new file mode 100644 index 0000000000..a9a6517a03 --- /dev/null +++ b/challenge-144/dracos/README @@ -0,0 +1 @@ +Solutions by Matthew Somerville. diff --git a/challenge-144/duane-powell/README b/challenge-144/duane-powell/README new file mode 100644 index 0000000000..3445422743 --- /dev/null +++ b/challenge-144/duane-powell/README @@ -0,0 +1 @@ +Solutions by Duane Powell. diff --git a/challenge-144/duncan-c-white/README b/challenge-144/duncan-c-white/README new file mode 100644 index 0000000000..917ee497cb --- /dev/null +++ b/challenge-144/duncan-c-white/README @@ -0,0 +1,63 @@ +TASK #1 - Calculator + +You are given a string, $s, containing mathematical expression. + +Write a script to print the result of the mathematical expression. To +keep it simple, please only accept + - * (). + +Example 1: + + Input: $s = "10 + 20 - 5" + Output: 25 + +Example 2: + + Input: $s = "(10 + 20 - 5) * 2" + Output: 50 + +MY NOTES: Ok, so a mini parser of a string in one or more command + line arguments. What's the easiest way? + - use Parse::RecDescent? + - hand write a recursive descent parser? + - convert to RPN and evaluate RPN? + + +TASK #2 - Stealthy Number + +You are given a positive number, $n. + +Write a script to find out if the given number is Stealthy Number. + +A positive integer N is stealthy, if there exist positive integers +a, b, c, d such that a * b = c * d = N and a + b = c + d + 1. + +Example 1 + + Input: $n = 36 + Output: 1 + + Since 36 = 4 (a) * 9 (b) = 6 (c) * 6 (d) and + 4 (a) + 9 (b) = 6 (c) + 6 (d) + 1. + +Example 2 + + Input: $n = 12 + Output: 1 + + Since 2 * 6 = 3 * 4 and 2 + 6 = 3 + 4 + 1 + +Example 3 + + Input: $n = 6 + Output: 0 + + Since 2 * 3 = 1 * 6 but 2 + 3 != 1 + 6 + 1 + + +MY NOTES: hmm.. need some kind of brute force search, presumably. +what are the limits of a..d? first thought: each <= $n, +hang on, (a,b) must be a factor pair of n (where a is a factor of n +<= sqrt(n) and b is n/a), and (c,d) must also be a factor pair of n. + +As a bonus, I've also implemented the --firstn flag which makes it +find and display the first $n stealthy numbers. diff --git a/challenge-144/e-choroba/README b/challenge-144/e-choroba/README new file mode 100644 index 0000000000..efff637bcb --- /dev/null +++ b/challenge-144/e-choroba/README @@ -0,0 +1 @@ +Solutions by E. Choroba. diff --git a/challenge-144/ealvar3z/README b/challenge-144/ealvar3z/README new file mode 100644 index 0000000000..a50c065308 --- /dev/null +++ b/challenge-144/ealvar3z/README @@ -0,0 +1 @@ +Solution by ealvar3z diff --git a/challenge-144/eddy-hs/README b/challenge-144/eddy-hs/README new file mode 100644 index 0000000000..0ed51d222d --- /dev/null +++ b/challenge-144/eddy-hs/README @@ -0,0 +1 @@ +Solution by Eddy HS diff --git a/challenge-144/eric-cheung/README b/challenge-144/eric-cheung/README new file mode 100644 index 0000000000..1bf6db4498 --- /dev/null +++ b/challenge-144/eric-cheung/README @@ -0,0 +1 @@ +Solutions by Eric Cheung. diff --git a/challenge-144/fabrizio-poggi/README b/challenge-144/fabrizio-poggi/README new file mode 100644 index 0000000000..3c17b29182 --- /dev/null +++ b/challenge-144/fabrizio-poggi/README @@ -0,0 +1 @@ +Solutions by Fabrizio Poggi. diff --git a/challenge-144/feng-chang/README b/challenge-144/feng-chang/README new file mode 100644 index 0000000000..74e56de3ed --- /dev/null +++ b/challenge-144/feng-chang/README @@ -0,0 +1 @@ +Solutions by Feng Chang. diff --git a/challenge-144/finanalyst/README b/challenge-144/finanalyst/README new file mode 100644 index 0000000000..15f7652e32 --- /dev/null +++ b/challenge-144/finanalyst/README @@ -0,0 +1 @@ +Solution by Richard Hainsworth, aka finanalyst diff --git a/challenge-144/finley/README b/challenge-144/finley/README new file mode 100644 index 0000000000..f08a121076 --- /dev/null +++ b/challenge-144/finley/README @@ -0,0 +1 @@ +Solution by Finley diff --git a/challenge-144/fjwhittle/README b/challenge-144/fjwhittle/README new file mode 100644 index 0000000000..7dcc95e189 --- /dev/null +++ b/challenge-144/fjwhittle/README @@ -0,0 +1 @@ +Solution by Francis Whittle diff --git a/challenge-144/frankivo/README b/challenge-144/frankivo/README new file mode 100644 index 0000000000..681b15b36c --- /dev/null +++ b/challenge-144/frankivo/README @@ -0,0 +1 @@ +Solution by Frank Oosterhuis. diff --git a/challenge-144/fred-zinn/README b/challenge-144/fred-zinn/README new file mode 100644 index 0000000000..17bac4f094 --- /dev/null +++ b/challenge-144/fred-zinn/README @@ -0,0 +1 @@ +Solution by Fred Zinn diff --git a/challenge-144/freddie-b/README b/challenge-144/freddie-b/README new file mode 100644 index 0000000000..823d7474b5 --- /dev/null +++ b/challenge-144/freddie-b/README @@ -0,0 +1 @@ +Solution by Freddie B diff --git a/challenge-144/garrett-goebel/README b/challenge-144/garrett-goebel/README new file mode 100644 index 0000000000..a8aa246dbb --- /dev/null +++ b/challenge-144/garrett-goebel/README @@ -0,0 +1 @@ +Solution by Garrett Goebel diff --git a/challenge-144/giuseppe-terlizzi/README b/challenge-144/giuseppe-terlizzi/README new file mode 100644 index 0000000000..0bff2a945c --- /dev/null +++ b/challenge-144/giuseppe-terlizzi/README @@ -0,0 +1 @@ +Solutions by Giuseppe Di Terlizzi. diff --git a/challenge-144/gugod/README b/challenge-144/gugod/README new file mode 100644 index 0000000000..509fd4c50c --- /dev/null +++ b/challenge-144/gugod/README @@ -0,0 +1 @@ +Solutions by Kang-min Liu. diff --git a/challenge-144/gugod/rust/.gitignore b/challenge-144/gugod/rust/.gitignore new file mode 100644 index 0000000000..ac77297bfe --- /dev/null +++ b/challenge-144/gugod/rust/.gitignore @@ -0,0 +1,2 @@ +ch-1 +ch-2 diff --git a/challenge-144/guillermo-ramos/README b/challenge-144/guillermo-ramos/README new file mode 100644 index 0000000000..a39eb01bff --- /dev/null +++ b/challenge-144/guillermo-ramos/README @@ -0,0 +1 @@ +Solution by Guillermo Ramos. diff --git a/challenge-144/gurunandan-bhat/README b/challenge-144/gurunandan-bhat/README new file mode 100644 index 0000000000..495f4cfafa --- /dev/null +++ b/challenge-144/gurunandan-bhat/README @@ -0,0 +1 @@ +Solutions by Gurunandan Bhat. diff --git a/challenge-144/gustavo-chaves/README b/challenge-144/gustavo-chaves/README new file mode 100644 index 0000000000..a66bbbf8a3 --- /dev/null +++ b/challenge-144/gustavo-chaves/README @@ -0,0 +1 @@ +Solution by Gustavo Chaves diff --git a/challenge-144/hatorikibble/README b/challenge-144/hatorikibble/README new file mode 100644 index 0000000000..51a9cd4411 --- /dev/null +++ b/challenge-144/hatorikibble/README @@ -0,0 +1 @@ +Solution by Peter Mayr diff --git a/challenge-144/hauke-d/README b/challenge-144/hauke-d/README new file mode 100644 index 0000000000..e201aa0abc --- /dev/null +++ b/challenge-144/hauke-d/README @@ -0,0 +1 @@ +Solutions by Hauke Dämpfling. diff --git a/challenge-144/henry-wong/README b/challenge-144/henry-wong/README new file mode 100644 index 0000000000..3d63a6f0be --- /dev/null +++ b/challenge-144/henry-wong/README @@ -0,0 +1 @@ +Solution by Henry Wong diff --git a/challenge-144/hstejas/README b/challenge-144/hstejas/README new file mode 100644 index 0000000000..969c5c0569 --- /dev/null +++ b/challenge-144/hstejas/README @@ -0,0 +1 @@ +Solution by Tejas diff --git a/challenge-144/iangoodnight/README.md b/challenge-144/iangoodnight/README.md new file mode 100644 index 0000000000..2a4a23a28c --- /dev/null +++ b/challenge-144/iangoodnight/README.md @@ -0,0 +1 @@ +Solution by Ian Goodnight diff --git a/challenge-144/ianrifkin/README b/challenge-144/ianrifkin/README new file mode 100644 index 0000000000..2d26297fb9 --- /dev/null +++ b/challenge-144/ianrifkin/README @@ -0,0 +1 @@ +Solution by Ian Rifkin. \ No newline at end of file diff --git a/challenge-144/izifresh/README b/challenge-144/izifresh/README new file mode 100644 index 0000000000..aedce7c408 --- /dev/null +++ b/challenge-144/izifresh/README @@ -0,0 +1 @@ +Solution by izifresh \ No newline at end of file diff --git a/challenge-144/jacques-guinnebault/README b/challenge-144/jacques-guinnebault/README new file mode 100644 index 0000000000..9d3e7c037f --- /dev/null +++ b/challenge-144/jacques-guinnebault/README @@ -0,0 +1 @@ +Solution by Jacques Guinnebault. diff --git a/challenge-144/jaime/README b/challenge-144/jaime/README new file mode 100644 index 0000000000..007cb58459 --- /dev/null +++ b/challenge-144/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-144/jake/README b/challenge-144/jake/README new file mode 100644 index 0000000000..2e6084589f --- /dev/null +++ b/challenge-144/jake/README @@ -0,0 +1 @@ +Solutions by Jake. diff --git a/challenge-144/jaldhar-h-vyas/README b/challenge-144/jaldhar-h-vyas/README new file mode 100644 index 0000000000..7dce927eca --- /dev/null +++ b/challenge-144/jaldhar-h-vyas/README @@ -0,0 +1 @@ +Solution by Jaldhar H. Vyas diff --git a/challenge-144/james-raspass/README b/challenge-144/james-raspass/README new file mode 100644 index 0000000000..e8b9d803c6 --- /dev/null +++ b/challenge-144/james-raspass/README @@ -0,0 +1 @@ +Solution by James Raspass. diff --git a/challenge-144/james-smith/README.md b/challenge-144/james-smith/README.md new file mode 100644 index 0000000000..1dbf64a12e --- /dev/null +++ b/challenge-144/james-smith/README.md @@ -0,0 +1,140 @@ +[< Previous 142](https://github.com/drbaggy/perlweeklychallenge-club/tree/master/challenge-142/james-smith) | +[Next 144 >](https://github.com/drbaggy/perlweeklychallenge-club/tree/master/challenge-144/james-smith) +# Perl Weekly Challenge #143 + +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-143/james-smith + +# Challenge 1 - Calculator + +***You are given a string, `$s`, containing mathematical expression. Write a script to print the result of the mathematical expression. To keep it simple, please only accept `+ - * ()`.***` + +## The solution + +The simple solution is just to "`eval`" the string, but where is the fun in that... We can either go for a tokenizing parser - where we create an array of elements brackets, symbols, numbers, or we can use regular expressions to reduce the equation. + +All students will remember BODMAS - Brackets, order, Division/Multiplication, Addition/Division. (or BIDMAS, PIDMAS, PEMDAS or whatever you used to remember it). So we have to break our prasing down into: + + * Brackets + * Order - we don't have this in our equations + * Division/Multiplication - we only have the latter + * Addition/Subtraction. + +So our logic becomes: + + * **B** - Find brackets without brackets within - for these we evaluate the contents using the same algorithm; + * **M** - If there are no brackets left - we then looking for multiplications from left to right and evaluate these. + * **AS** - If there are no brackets or multiplications we look at the addition/subtraction again left to right. + * This gives the following perl function: + +```perl +sub evaluate { + my $str = shift; + 1 while $str =~ s/\(\s*([^()]*?)\s*\)/ evaluate($1) /e; + 1 while $str =~ s/(-?\d+)\s*\*\s*(-?\d+)/ $1 * $2 /e; + 1 while $str =~ s/(-?\d+)\s*([-+])\s*(-?\d+)/$2 eq '+' ? $1+$3 : $1-$3/e; + return $str; +} +``` + +For small strings - this is about the same speed as `eval`, for larger strings not so, but in both cases it is "safer" as string `eval` of "tainted" input is a real security risk. + +## As a challenge infix->RPN converter than evaluate + +On the Perl Programming Facebook Group - the use or RPN was mentioned - and so the challenge lead to reimplementing this by converting the infix notation to Reverse Polish and then evaluating the RPN stack. + +Infix `(a+b)*c+d` would become `a b + c * d +` in Reverse Polish Notation. + +To achieve this we set up a dispatch table - which stores methods for every operator we see in the string... +And then when we see an operator in the stream (either infix or rpn) we use the appropriate function. This simplifies the code considerably... + +```perl +my( @s, @o, %f ); ## @s <- stack, @o <- output, %f <- method "dispatch" table + +## THe 3 values are: +## precedence +## fn to apply when finding operator in infix stream +## fn to apply when finding operator in RPN stream + + ## Precedence +%f = ( ## Convertion function Infix -> RPN RPN processing function + '(' => [ 0, sub{ push @s, '(' }, ], + ')' => [ 0, sub{ push @o, $_ while ($_=pop@s) ne '(' }, ], + '*' => [ 2, sub{ push @o, pop @s while @s && $f{$s[-1]}[0]>1; push@s, '*' }, sub{ $s[-2] *= pop @s }], + '+' => [ 1, sub{ push @o, pop @s while @s && $f{$s[-1]}[0]; push@s, '+' }, sub{ $s[-2] += pop @s }], + '-' => [ 1, sub{ push @o, pop @s while @s && $f{$s[-1]}[0]; push@s, '-' }, sub{ $s[-2] -= pop @s }], +); + +## Two loops - first line converts infix to rpn +## second evaluates the rpn string. +sub evaluate_rpn { + @o= @s= (); ## Clear output and stack. + ## If operator use function in f hash to update output/stack + ## othewise it is a number and we push to output. + ($f{$_}) ? (&{$f{$_}[1]}) : (push@o,$_) for $_[0] =~ m{(-?\d+|[-+*()])}g; + ## If operator use function in f to update stack + ## otherwise we push the value onto the stack + ## ** we use reverse splice to reverse the string AND clear the stack at the + ## same time for the loop to work. + ($f{$_}) ? (&{$f{$_}[2]}) : (push@s,$_) for @o, reverse splice @s,0; + $s[0]; ## The result is the remaining value in the stack. +} +``` + +# Challenge 2 - Stealthy Number + +***You are given a positive number, `$n`. Write a script to find out if the given number is Stealthy Number. A positive integer `N` is stealthy, if there exist positive integers `a`, `b`, `c`, `d` such that `a * b = c * d = N` and `a + b = c + d + 1`.*** + +## The solution + +First we find all the factors of `N` (well the ones for where `N=a*b` and `a 1 } values %c) ? 1 : 0; +} +``` + +## An alternative solution + +Having played with the solution above - I realised (it should have been obvious) that the pairs of factors will be consecutive, e.g. 12 has 3 pairs 1,12 2,6, 3,4, and the pair that makes this a stealthy number is going to be `2+6 = 3+4+1`. + +We can therefore we don't need to keep an array of valid factors - only the previous factor. The code thus becomes: + +```perl +sub stealthy_number_1pass { + my($p,$n) = (1,@_); + $n%$_?1:$n/$p+$p-$n/$_-$_-1?($p=$_):(return 1)for 2..sqrt$n; + 0; +} +``` + +OK - that's a bit golfed. So lets unravel the ternaries in the middle to make the code more readable. + +```perl +sub stealthy_number_1pass { + my $n = shift; + my $p = 1; + foreach ( 2 .. sqrt $n ) { + next if $n % $_; + return 1 if $n/$p + $p == $n/$_ + $_ + 1; + $p = $_; + } + return 0; +} +``` diff --git a/challenge-144/jan-perl/README b/challenge-144/jan-perl/README new file mode 100644 index 0000000000..70e335d7d7 --- /dev/null +++ b/challenge-144/jan-perl/README @@ -0,0 +1 @@ +Solution by Jan Hoogenraad diff --git a/challenge-144/jaredor/README b/challenge-144/jaredor/README new file mode 100644 index 0000000000..398fcc9bae --- /dev/null +++ b/challenge-144/jaredor/README @@ -0,0 +1 @@ +Solution by Jared Martin diff --git a/challenge-144/jason-messer/README b/challenge-144/jason-messer/README new file mode 100644 index 0000000000..db0556d981 --- /dev/null +++ b/challenge-144/jason-messer/README @@ -0,0 +1 @@ +Raku Solutions by Jason Messer diff --git a/challenge-144/javier-luque/README b/challenge-144/javier-luque/README new file mode 100644 index 0000000000..887e7fc81a --- /dev/null +++ b/challenge-144/javier-luque/README @@ -0,0 +1 @@ +Solutions by Javier Luque. diff --git a/challenge-144/jbourlakos/README b/challenge-144/jbourlakos/README new file mode 100644 index 0000000000..5ce76645d3 --- /dev/null +++ b/challenge-144/jbourlakos/README @@ -0,0 +1 @@ +Solution by Ioannis (John) Bourlakos. \ No newline at end of file diff --git a/challenge-144/jcrosswh/README b/challenge-144/jcrosswh/README new file mode 100644 index 0000000000..144afd1a18 --- /dev/null +++ b/challenge-144/jcrosswh/README @@ -0,0 +1 @@ +Solu