From d5f2a0c9f3ee311ab8e8d14f6cb67efbc01250ec Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 5 Jul 2021 11:08:41 +0100 Subject: - Added template for week 120. --- challenge-120/3ter/README | 1 + challenge-120/LoneWolfiNTj/README | 1 + challenge-120/aaron-rowe/README | 1 + challenge-120/aaron-sherman/README | 1 + challenge-120/aaronreidsmith/README | 1 + challenge-120/abigail/README.md | 74 +++++ challenge-120/adam-russell/README | 1 + challenge-120/adherzog/README | 1 + challenge-120/ailbhe-tweedie/README | 1 + challenge-120/alex-daniel/README | 1 + challenge-120/alexander-karelas/README | 1 + challenge-120/alexander-pankoff/README | 1 + challenge-120/alicia-bielsa/README | 1 + challenge-120/andinus/README | 55 ++++ challenge-120/andrezgz/README | 1 + challenge-120/anton-fedotov/README | 1 + challenge-120/antonio-gamiz/README | 1 + challenge-120/arne-sommer/README | 1 + challenge-120/arpad-toth/README | 1 + challenge-120/ash/README | 1 + challenge-120/athanasius/README | 1 + challenge-120/aubrey-quarcoo/README | 1 + challenge-120/aviral-goel/README | 1 + challenge-120/belmark-caday/README | 1 + challenge-120/ben-davies/README.md | 1 + challenge-120/bill-palmer/README | 1 + challenge-120/bkb/README | 1 + challenge-120/bob-kleemann/README | 1 + challenge-120/bob-lied/README | 3 + challenge-120/brtastic/README | 1 + challenge-120/bruce-gray/README | 1 + challenge-120/bruno-ramos/README | 1 + challenge-120/burkhard-nickels/README | 1 + challenge-120/bwva/README | 1 + challenge-120/cheok-yin-fung/README | 1 + challenge-120/christian-jaeger/README | 1 + challenge-120/cliveholloway/README | 1 + challenge-120/colin-crain/README | 1 + challenge-120/craig/README | 1 + challenge-120/creewick/README | 1 + challenge-120/cristian-heredia/README | 1 + challenge-120/daniel-mantovani/README | 1 + challenge-120/daniel-mita/README | 1 + challenge-120/darren-bottin/README | 1 + challenge-120/dave-cross/README | 1 + challenge-120/dave-jacoby/README | 1 + challenge-120/david-kayal/README | 1 + challenge-120/ddobbelaere/README | 1 + challenge-120/deadmarshal/README | 1 + challenge-120/denis-yurashku/README | 1 + challenge-120/dms061/readme | 8 + challenge-120/donald-hunter/README | 1 + challenge-120/doug-schrag/README | 1 + challenge-120/dracos/README | 1 + challenge-120/duane-powell/README | 1 + challenge-120/duncan-c-white/README | 54 ++++ challenge-120/e-choroba/README | 1 + challenge-120/eddy-hs/README | 1 + challenge-120/eric-cheung/README | 1 + challenge-120/fabrizio-poggi/README | 1 + challenge-120/feng-chang/README | 1 + challenge-120/finanalyst/README | 1 + challenge-120/finley/README | 1 + challenge-120/fjwhittle/README | 1 + challenge-120/frankivo/README | 1 + challenge-120/fred-zinn/README | 1 + challenge-120/freddie-b/README | 1 + challenge-120/garrett-goebel/README | 1 + challenge-120/giuseppe-terlizzi/README | 1 + challenge-120/gugod/README | 1 + challenge-120/gugod/rust/.gitignore | 2 + challenge-120/guillermo-ramos/README | 1 + challenge-120/gustavo-chaves/README | 1 + challenge-120/hatorikibble/README | 1 + challenge-120/hauke-d/README | 1 + challenge-120/henry-wong/README | 1 + challenge-120/hstejas/README | 1 + challenge-120/ianrifkin/README | 1 + challenge-120/izifresh/README | 1 + challenge-120/jacques-guinnebault/README | 1 + challenge-120/jaime/README | 59 ++++ challenge-120/jaldhar-h-vyas/README | 1 + challenge-120/james-smith/README.md | 310 +++++++++++++++++++++ challenge-120/jan-perl/README | 1 + challenge-120/jaredor/README | 1 + challenge-120/jason-messer/README | 1 + challenge-120/javier-luque/README | 1 + challenge-120/jcrosswh/README | 1 + challenge-120/jeff/README | 1 + challenge-120/jeongoon/.gitignore | 5 + challenge-120/jeongoon/README | 1 + challenge-120/jeremy-carman/README | 1 + challenge-120/jim-bacon/README | 1 + challenge-120/jitu-keshwani/README | 1 + challenge-120/jj-merelo/README | 1 + challenge-120/jluis/README | 1 + challenge-120/jo-37/README | 1 + challenge-120/jo-christian-oterhals/README | 1 + challenge-120/joe-tym/README | 1 + challenge-120/joelle-maslak/README | 1 + challenge-120/john-barrett/README | 1 + challenge-120/jokraft/README | 1 + challenge-120/juan-caballero/README | 1 + challenge-120/julien-fiegehenn/README | 1 + challenge-120/juliodcs/README | 1 + challenge-120/kai-burgdorf/README.md | 1 + challenge-120/kevin-colyer/README | 3 + challenge-120/khalid/README | 1 + challenge-120/kian-meng-ang/README | 1 + challenge-120/kiran-kumar/README | 1 + challenge-120/kivanc-yazan/.gitignore | 2 + challenge-120/kivanc-yazan/README | 1 + challenge-120/kordaff/README | 1 + challenge-120/kurkale6ka/README | 1 + challenge-120/lance-wicks/README | 1 + challenge-120/lance-wicks/golang/go.sum | 11 + challenge-120/lars-balker/README | 1 + challenge-120/lars-thegler/README | 1 + challenge-120/laurent-rosenfeld/README | 1 + challenge-120/leoltron/README | 1 + challenge-120/lubos-kolouch/README | 1 + challenge-120/luc65r/README | 1 + challenge-120/luca-ferrari/README | 1 + challenge-120/magnus-woldrich/README | 1 + challenge-120/manfredi/README | 1 + challenge-120/mano-chandar/README | 1 + challenge-120/mark-anderson/README | 1 + challenge-120/mark-senn/README | 1 + challenge-120/markjreed/README | 6 + challenge-120/markus-holzer/README | 1 + challenge-120/martin-barth/README | 1 + challenge-120/martin-mugeni/README | 1 + challenge-120/mathmauney/README | 1 + challenge-120/matt-latusek/README | 1 + challenge-120/matthew-persico/README | 1 + challenge-120/maxim-kolodyazhny/README | 1 + challenge-120/maxim-nechaev/README | 1 + challenge-120/michael-hamlin/README | 5 + challenge-120/michael-schaap/README | 1 + challenge-120/mihail-iosilevitch/README | 1 + challenge-120/mike-accardo/README | 1 + challenge-120/mimosinnet/README | 1 + challenge-120/mohammad-anwar/README | 1 + challenge-120/ndelucca/README | 1 + challenge-120/neil-bowers/README | 1 + challenge-120/nick-logan/README | 1 + challenge-120/nikhil-prasanna/README | 1 + challenge-120/noud/README | 1 + challenge-120/nunovieira220/README | 1 + challenge-120/ohmycloud/README | 1 + challenge-120/oleksii-tsvietnov/README | 1 + challenge-120/olivier-delouya/README | 1 + challenge-120/olli-antti/README | 1 + challenge-120/orestis-zekai/README | 1 + challenge-120/ozzy/README | 1 + challenge-120/p6steve/README | 1 + challenge-120/pablo-saavedra/README | 1 + challenge-120/paul-fajman/README | 1 + challenge-120/paulo-custodio/README | 1 + challenge-120/pavel-jurca/README | 1 + challenge-120/pavel-starikov/README | 1 + challenge-120/pavel_kuptsov/README | 2 + challenge-120/perlboy1967/README | 1 + challenge-120/pete-houston/README | 1 + challenge-120/pete-sergeant/README | 1 + challenge-120/peter-meszaros/README | 1 + challenge-120/peter-scott/README | 1 + challenge-120/petr-roubicek/README | 1 + challenge-120/philippe-bruhat/README | 1 + challenge-120/phillip-harris/README | 1 + challenge-120/pjdurai/README | 1 + challenge-120/pkmnx/README | 1 + challenge-120/plis-acm/.gitignore | 1 + challenge-120/plis-acm/README | 1 + challenge-120/polettix/README | 1 + challenge-120/polettix/perl/.gitignore | 1 + challenge-120/prajith-p/README | 1 + challenge-120/rage311/README | 1 + challenge-120/rakulius/README | 1 + challenge-120/randy-lauen/README | 1 + challenge-120/richard-park/README | 1 + challenge-120/rnuttall/README | 1 + challenge-120/rob-van-dam/README | 1 + challenge-120/rob4t/README | 1 + challenge-120/roger-bell-west/README | 1 + challenge-120/ruben-westerberg/README | 9 + challenge-120/ryan-thompson/README.md | 19 ++ challenge-120/saiftynet/README | 1 + challenge-120/samir-parikh/README | 1 + challenge-120/sangeet-kar/README | 1 + challenge-120/sean-meininger/README | 1 + challenge-120/sergiotarxz/README | 1 + challenge-120/sgreen/README.md | 3 + challenge-120/shahed-nooshmand/README | 1 + challenge-120/shardiwal/README | 1 + challenge-120/shaun-pearce/README | 1 + challenge-120/shawak/README.md | 1 + challenge-120/shawn-wagner/README | 1 + challenge-120/simon-miner/README | 1 + challenge-120/simon-proctor/README | 1 + challenge-120/simon-reinhardt/README | 1 + challenge-120/sol-demuth/README | 1 + challenge-120/southpawgeek/README | 1 + challenge-120/stephanie-stein/README | 1 + challenge-120/steve-rogerson/README | 1 + challenge-120/steven-lembark/README | 1 + challenge-120/steven-wilson/README | 1 + challenge-120/stuart-little/README | 1 + challenge-120/svetlana-nesterova/README | 1 + challenge-120/swaggboi/README | 1 + challenge-120/szabgab/README | 1 + challenge-120/ted-leahy/README | 1 + challenge-120/testerR59/README | 1 + challenge-120/tiago-stock/README | 1 + challenge-120/tim-smith/README | 1 + challenge-120/tore-andersson/README | 1 + challenge-120/trenton-langer/README | 1 + challenge-120/tyler-limkemann/README | 1 + challenge-120/tyler-wardhaugh/README | 1 + challenge-120/tyler-wardhaugh/clojure/.gitignore | 16 ++ challenge-120/tyler-wardhaugh/clojure/LICENSE | 214 ++++++++++++++ challenge-120/tyler-wardhaugh/clojure/README.md | 49 ++++ challenge-120/tyler-wardhaugh/clojure/bb.edn | 89 ++++++ challenge-120/tyler-wardhaugh/clojure/deps.edn | 18 ++ challenge-120/tyler-wardhaugh/clojure/pom.xml | 44 +++ .../tyler-wardhaugh/clojure/resources/.keep | 0 challenge-120/tyler-wardhaugh/lua/README.md | 23 ++ challenge-120/tyler-wardhaugh/python/.gitignore | 24 ++ challenge-120/tyler-wardhaugh/python/Makefile | 13 + challenge-120/tyler-wardhaugh/python/README.md | 29 ++ challenge-120/ulrich-rieke/README | 1 + challenge-120/user-person/README | 1 + challenge-120/uzluisf/README | 1 + challenge-120/veesh-goldman/README | 1 + challenge-120/vinod-k/README | 1 + challenge-120/vinod-pal/README | 1 + challenge-120/vyacheslav-volgarev/README | 1 + challenge-120/walt-mankowski/README.md | 58 ++++ challenge-120/walt-mankowski/c/.gitignore | 2 + challenge-120/walt-mankowski/cpp/.gitignore | 2 + .../walt-mankowski/python/.python-version | 1 + challenge-120/wambash/README | 1 + challenge-120/wanderdoc/README | 1 + challenge-120/will-west/README | 1 + challenge-120/william-gilmore/README | 1 + challenge-120/wlmb/README | 1 + challenge-120/x1mandi/README | 1 + challenge-120/xkr47/README | 11 + challenge-120/xliff/README | 1 + challenge-120/yary-h/README | 1 + challenge-120/yet-ebreo/README | 1 + challenge-120/yozen-hernandez/README | 1 + challenge-120/ziameraj16/README.md | 23 ++ .../ziameraj16/kotlin/META-INF/main.kotlin_module | Bin 0 -> 24 bytes script/clean-up-dir.sh | 2 + 255 files changed, 1466 insertions(+) create mode 100644 challenge-120/3ter/README create mode 100755 challenge-120/LoneWolfiNTj/README create mode 100644 challenge-120/aaron-rowe/README create mode 100644 challenge-120/aaron-sherman/README create mode 100644 challenge-120/aaronreidsmith/README create mode 100644 challenge-120/abigail/README.md create mode 100644 challenge-120/adam-russell/README create mode 100644 challenge-120/adherzog/README create mode 100644 challenge-120/ailbhe-tweedie/README create mode 100644 challenge-120/alex-daniel/README create mode 100644 challenge-120/alexander-karelas/README create mode 100644 challenge-120/alexander-pankoff/README create mode 100644 challenge-120/alicia-bielsa/README create mode 100644 challenge-120/andinus/README create mode 100644 challenge-120/andrezgz/README create mode 100644 challenge-120/anton-fedotov/README create mode 100644 challenge-120/antonio-gamiz/README create mode 100644 challenge-120/arne-sommer/README create mode 100644 challenge-120/arpad-toth/README create mode 100644 challenge-120/ash/README create mode 100644 challenge-120/athanasius/README create mode 100644 challenge-120/aubrey-quarcoo/README create mode 100644 challenge-120/aviral-goel/README create mode 100644 challenge-120/belmark-caday/README create mode 100644 challenge-120/ben-davies/README.md create mode 100644 challenge-120/bill-palmer/README create mode 100644 challenge-120/bkb/README create mode 100644 challenge-120/bob-kleemann/README create mode 100644 challenge-120/bob-lied/README create mode 100644 challenge-120/brtastic/README create mode 100644 challenge-120/bruce-gray/README create mode 100644 challenge-120/bruno-ramos/README create mode 100644 challenge-120/burkhard-nickels/README create mode 100644 challenge-120/bwva/README create mode 100644 challenge-120/cheok-yin-fung/README create mode 100644 challenge-120/christian-jaeger/README create mode 100644 challenge-120/cliveholloway/README create mode 100644 challenge-120/colin-crain/README create mode 100644 challenge-120/craig/README create mode 100644 challenge-120/creewick/README create mode 100644 challenge-120/cristian-heredia/README create mode 100644 challenge-120/daniel-mantovani/README create mode 100644 challenge-120/daniel-mita/README create mode 100644 challenge-120/darren-bottin/README create mode 100644 challenge-120/dave-cross/README create mode 100644 challenge-120/dave-jacoby/README create mode 100644 challenge-120/david-kayal/README create mode 100644 challenge-120/ddobbelaere/README create mode 100644 challenge-120/deadmarshal/README create mode 100644 challenge-120/denis-yurashku/README create mode 100644 challenge-120/dms061/readme create mode 100644 challenge-120/donald-hunter/README create mode 100644 challenge-120/doug-schrag/README create mode 100644 challenge-120/dracos/README create mode 100644 challenge-120/duane-powell/README create mode 100644 challenge-120/duncan-c-white/README create mode 100644 challenge-120/e-choroba/README create mode 100644 challenge-120/eddy-hs/README create mode 100644 challenge-120/eric-cheung/README create mode 100644 challenge-120/fabrizio-poggi/README create mode 100644 challenge-120/feng-chang/README create mode 100644 challenge-120/finanalyst/README create mode 100644 challenge-120/finley/README create mode 100644 challenge-120/fjwhittle/README create mode 100644 challenge-120/frankivo/README create mode 100644 challenge-120/fred-zinn/README create mode 100644 challenge-120/freddie-b/README create mode 100644 challenge-120/garrett-goebel/README create mode 100644 challenge-120/giuseppe-terlizzi/README create mode 100644 challenge-120/gugod/README create mode 100644 challenge-120/gugod/rust/.gitignore create mode 100644 challenge-120/guillermo-ramos/README create mode 100644 challenge-120/gustavo-chaves/README create mode 100644 challenge-120/hatorikibble/README create mode 100644 challenge-120/hauke-d/README create mode 100644 challenge-120/henry-wong/README create mode 100644 challenge-120/hstejas/README create mode 100644 challenge-120/ianrifkin/README create mode 100644 challenge-120/izifresh/README create mode 100644 challenge-120/jacques-guinnebault/README create mode 100644 challenge-120/jaime/README create mode 100644 challenge-120/jaldhar-h-vyas/README create mode 100644 challenge-120/james-smith/README.md create mode 100644 challenge-120/jan-perl/README create mode 100644 challenge-120/jaredor/README create mode 100644 challenge-120/jason-messer/README create mode 100644 challenge-120/javier-luque/README create mode 100644 challenge-120/jcrosswh/README create mode 100644 challenge-120/jeff/README create mode 100644 challenge-120/jeongoon/.gitignore create mode 100644 challenge-120/jeongoon/README create mode 100644 challenge-120/jeremy-carman/README create mode 100644 challenge-120/jim-bacon/README create mode 100644 challenge-120/jitu-keshwani/README create mode 100644 challenge-120/jj-merelo/README create mode 100644 challenge-120/jluis/README create mode 100644 challenge-120/jo-37/README create mode 100644 challenge-120/jo-christian-oterhals/README create mode 100644 challenge-120/joe-tym/README create mode 100644 challenge-120/joelle-maslak/README create mode 100644 challenge-120/john-barrett/README create mode 100644 challenge-120/jokraft/README create mode 100644 challenge-120/juan-caballero/README create mode 100644 challenge-120/julien-fiegehenn/README create mode 100644 challenge-120/juliodcs/README create mode 100644 challenge-120/kai-burgdorf/README.md create mode 100644 challenge-120/kevin-colyer/README create mode 100644 challenge-120/khalid/README create mode 100644 challenge-120/kian-meng-ang/README create mode 100644 challenge-120/kiran-kumar/README create mode 100644 challenge-120/kivanc-yazan/.gitignore create mode 100644 challenge-120/kivanc-yazan/README create mode 100644 challenge-120/kordaff/README create mode 100644 challenge-120/kurkale6ka/README create mode 100644 challenge-120/lance-wicks/README create mode 100644 challenge-120/lance-wicks/golang/go.sum create mode 100644 challenge-120/lars-balker/README create mode 100644 challenge-120/lars-thegler/README create mode 100644 challenge-120/laurent-rosenfeld/README create mode 100644 challenge-120/leoltron/README create mode 100644 challenge-120/lubos-kolouch/README create mode 100644 challenge-120/luc65r/README create mode 100644 challenge-120/luca-ferrari/README create mode 100644 challenge-120/magnus-woldrich/README create mode 100644 challenge-120/manfredi/README create mode 100644 challenge-120/mano-chandar/README create mode 100644 challenge-120/mark-anderson/README create mode 100644 challenge-120/mark-senn/README create mode 100644 challenge-120/markjreed/README create mode 100644 challenge-120/markus-holzer/README create mode 100644 challenge-120/martin-barth/README create mode 100644 challenge-120/martin-mugeni/README create mode 100644 challenge-120/mathmauney/README create mode 100644 challenge-120/matt-latusek/README create mode 100644 challenge-120/matthew-persico/README create mode 100644 challenge-120/maxim-kolodyazhny/README create mode 100644 challenge-120/maxim-nechaev/README create mode 100644 challenge-120/michael-hamlin/README create mode 100644 challenge-120/michael-schaap/README create mode 100644 challenge-120/mihail-iosilevitch/README create mode 100644 challenge-120/mike-accardo/README create mode 100644 challenge-120/mimosinnet/README create mode 100644 challenge-120/mohammad-anwar/README create mode 100644 challenge-120/ndelucca/README create mode 100644 challenge-120/neil-bowers/README create mode 100644 challenge-120/nick-logan/README create mode 100644 challenge-120/nikhil-prasanna/README create mode 100644 challenge-120/noud/README create mode 100644 challenge-120/nunovieira220/README create mode 100644 challenge-120/ohmycloud/README create mode 100644 challenge-120/oleksii-tsvietnov/README create mode 100644 challenge-120/olivier-delouya/README create mode 100644 challenge-120/olli-antti/README create mode 100644 challenge-120/orestis-zekai/README create mode 100644 challenge-120/ozzy/README create mode 100644 challenge-120/p6steve/README create mode 100644 challenge-120/pablo-saavedra/README create mode 100644 challenge-120/paul-fajman/README create mode 100644 challenge-120/paulo-custodio/README create mode 100644 challenge-120/pavel-jurca/README create mode 100644 challenge-120/pavel-starikov/README create mode 100644 challenge-120/pavel_kuptsov/README create mode 100644 challenge-120/perlboy1967/README create mode 100644 challenge-120/pete-houston/README create mode 100644 challenge-120/pete-sergeant/README create mode 100644 challenge-120/peter-meszaros/README create mode 100644 challenge-120/peter-scott/README create mode 100644 challenge-120/petr-roubicek/README create mode 100644 challenge-120/philippe-bruhat/README create mode 100644 challenge-120/phillip-harris/README create mode 100644 challenge-120/pjdurai/README create mode 100644 challenge-120/pkmnx/README create mode 100644 challenge-120/plis-acm/.gitignore create mode 100644 challenge-120/plis-acm/README create mode 100644 challenge-120/polettix/README create mode 100644 challenge-120/polettix/perl/.gitignore create mode 100644 challenge-120/prajith-p/README create mode 100644 challenge-120/rage311/README create mode 100644 challenge-120/rakulius/README create mode 100644 challenge-120/randy-lauen/README create mode 100644 challenge-120/richard-park/README create mode 100644 challenge-120/rnuttall/README create mode 100644 challenge-120/rob-van-dam/README create mode 100644 challenge-120/rob4t/README create mode 100644 challenge-120/roger-bell-west/README create mode 100644 challenge-120/ruben-westerberg/README create mode 100644 challenge-120/ryan-thompson/README.md create mode 100644 challenge-120/saiftynet/README create mode 100644 challenge-120/samir-parikh/README create mode 100644 challenge-120/sangeet-kar/README create mode 100644 challenge-120/sean-meininger/README create mode 100644 challenge-120/sergiotarxz/README create mode 100644 challenge-120/sgreen/README.md create mode 100644 challenge-120/shahed-nooshmand/README create mode 100644 challenge-120/shardiwal/README create mode 100644 challenge-120/shaun-pearce/README create mode 100644 challenge-120/shawak/README.md create mode 100644 challenge-120/shawn-wagner/README create mode 100644 challenge-120/simon-miner/README create mode 100644 challenge-120/simon-proctor/README create mode 100644 challenge-120/simon-reinhardt/README create mode 100644 challenge-120/sol-demuth/README create mode 100644 challenge-120/southpawgeek/README create mode 100644 challenge-120/stephanie-stein/README create mode 100644 challenge-120/steve-rogerson/README create mode 100644 challenge-120/steven-lembark/README create mode 100644 challenge-120/steven-wilson/README create mode 100644 challenge-120/stuart-little/README create mode 100644 challenge-120/svetlana-nesterova/README create mode 100644 challenge-120/swaggboi/README create mode 100644 challenge-120/szabgab/README create mode 100644 challenge-120/ted-leahy/README create mode 100644 challenge-120/testerR59/README create mode 100644 challenge-120/tiago-stock/README create mode 100644 challenge-120/tim-smith/README create mode 100644 challenge-120/tore-andersson/README create mode 100644 challenge-120/trenton-langer/README create mode 100644 challenge-120/tyler-limkemann/README create mode 100644 challenge-120/tyler-wardhaugh/README create mode 100644 challenge-120/tyler-wardhaugh/clojure/.gitignore create mode 100644 challenge-120/tyler-wardhaugh/clojure/LICENSE create mode 100644 challenge-120/tyler-wardhaugh/clojure/README.md create mode 100644 challenge-120/tyler-wardhaugh/clojure/bb.edn create mode 100644 challenge-120/tyler-wardhaugh/clojure/deps.edn create mode 100644 challenge-120/tyler-wardhaugh/clojure/pom.xml create mode 100644 challenge-120/tyler-wardhaugh/clojure/resources/.keep create mode 100644 challenge-120/tyler-wardhaugh/lua/README.md create mode 100644 challenge-120/tyler-wardhaugh/python/.gitignore create mode 100644 challenge-120/tyler-wardhaugh/python/Makefile create mode 100644 challenge-120/tyler-wardhaugh/python/README.md create mode 100644 challenge-120/ulrich-rieke/README create mode 100644 challenge-120/user-person/README create mode 100644 challenge-120/uzluisf/README create mode 100644 challenge-120/veesh-goldman/README create mode 100644 challenge-120/vinod-k/README create mode 100644 challenge-120/vinod-pal/README create mode 100644 challenge-120/vyacheslav-volgarev/README create mode 100644 challenge-120/walt-mankowski/README.md create mode 100644 challenge-120/walt-mankowski/c/.gitignore create mode 100644 challenge-120/walt-mankowski/cpp/.gitignore create mode 100644 challenge-120/walt-mankowski/python/.python-version create mode 100644 challenge-120/wambash/README create mode 100644 challenge-120/wanderdoc/README create mode 100644 challenge-120/will-west/README create mode 100644 challenge-120/william-gilmore/README create mode 100644 challenge-120/wlmb/README create mode 100644 challenge-120/x1mandi/README create mode 100644 challenge-120/xkr47/README create mode 100644 challenge-120/xliff/README create mode 100644 challenge-120/yary-h/README create mode 100644 challenge-120/yet-ebreo/README create mode 100644 challenge-120/yozen-hernandez/README create mode 100644 challenge-120/ziameraj16/README.md create mode 100644 challenge-120/ziameraj16/kotlin/META-INF/main.kotlin_module diff --git a/challenge-120/3ter/README b/challenge-120/3ter/README new file mode 100644 index 0000000000..8c594431f3 --- /dev/null +++ b/challenge-120/3ter/README @@ -0,0 +1 @@ +Solutions by 3ter. diff --git a/challenge-120/LoneWolfiNTj/README b/challenge-120/LoneWolfiNTj/README new file mode 100755 index 0000000000..bf42ad2482 --- /dev/null +++ b/challenge-120/LoneWolfiNTj/README @@ -0,0 +1 @@ +Solution by Robbie Hatley (github user "LoneWolfiNTj"). \ No newline at end of file diff --git a/challenge-120/aaron-rowe/README b/challenge-120/aaron-rowe/README new file mode 100644 index 0000000000..e14e0782fb --- /dev/null +++ b/challenge-120/aaron-rowe/README @@ -0,0 +1 @@ +Solutions by Aaron Rowe. diff --git a/challenge-120/aaron-sherman/README b/challenge-120/aaron-sherman/README new file mode 100644 index 0000000000..14ec31f570 --- /dev/null +++ b/challenge-120/aaron-sherman/README @@ -0,0 +1 @@ +Solutions by Aaron Sherman. diff --git a/challenge-120/aaronreidsmith/README b/challenge-120/aaronreidsmith/README new file mode 100644 index 0000000000..2fcfe1fdcc --- /dev/null +++ b/challenge-120/aaronreidsmith/README @@ -0,0 +1 @@ +Solution by Aaron Smith diff --git a/challenge-120/abigail/README.md b/challenge-120/abigail/README.md new file mode 100644 index 0000000000..2fc20d5e68 --- /dev/null +++ b/challenge-120/abigail/README.md @@ -0,0 +1,74 @@ +# Solutions by Abigail +## [Swap Nibbles](https://perlweeklychallenge.org/blog/perl-weekly-challenge-119/#TASK1) + +> You are given a positive integer `$N`. +> +> Write a script to swap the two nibbles of the binary representation of +> the given number and print the decimal number of the new binary +> representation. +> +> > A nibble is a four-bit aggregation, or half an octet. +> +> To keep the task simple, we only allow integer less than or equal to `255`. + +### Examples +~~~~ +Input: $N = 101 +Output: 86 +~~~~ + +Binary representation of decimal `101` is `1100101` or as 2 nibbles +`(0110)(0101)`. The swapped nibbles would be `(0101)(0110)` same as +decimal `86`. + +~~~~ +Input: $N = 18 +Output: 33 +~~~~ + +Binary representation of decimal `18` is `10010` or as 2 nibbles +`(0001)(0010)`. The swapped nibbles would be `(0010)(0001)` same as +decimal `33`. + +### Solutions +* [AWK](awk/ch-1.awk) +* [Bash](bash/ch-1.sh) +* [bc](bc/ch-1.bc) +* [Befunge-93](befunge-93/ch-1.bf93) +* [C](c/ch-1.c) +* [Go](go/ch-1.go) +* [Java](java/ch-1.java) +* [Lua](lua/ch-1.lua) +* [Node.js](node/ch-1.js) +* [Pascal](pascal/ch-1.p) +* [Perl](perl/ch-1.pl) +* [Python](python/ch-1.py) +* [R](r/ch-1.r) +* [Ruby](ruby/ch-1.rb) +* [Scheme](scheme/ch-1.scm) +* [Tcl](tcl/ch-1.tcl) + +### Blog +[Swap Nibbles](https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-119-1.html) + +## [Sequence without 1-on-1](https://perlweeklychallenge.org/blog/perl-weekly-challenge-119/#TASK2) + +> Write a script to generate sequence starting at `1`. Consider the +> increasing sequence of integers which contain only `1`s, `2`s, and +> `3`s, and do not have any doublets of `1`s > like below. Please accept +> a positive integer `$N` and print the `$N`th term in the generated sequence. +> +> > 1, 2, 3, 12, 13, 21, 22, 23, 31, 32, 33, 121, 122, 123, 131, ... + +### Solutions +* [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) + +### Blog +[Sequence without 1-on-1](https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-119-2.html) diff --git a/challenge-120/adam-russell/README b/challenge-120/adam-russell/README new file mode 100644 index 0000000000..1d2e2957c5 --- /dev/null +++ b/challenge-120/adam-russell/README @@ -0,0 +1 @@ +Solution by Adam Russell diff --git a/challenge-120/adherzog/README b/challenge-120/adherzog/README new file mode 100644 index 0000000000..b59913be6c --- /dev/null +++ b/challenge-120/adherzog/README @@ -0,0 +1 @@ +Solutions by Adam Herzog. diff --git a/challenge-120/ailbhe-tweedie/README b/challenge-120/ailbhe-tweedie/README new file mode 100644 index 0000000000..36d4034b70 --- /dev/null +++ b/challenge-120/ailbhe-tweedie/README @@ -0,0 +1 @@ +Solution by Ailbhe Tweedie diff --git a/challenge-120/alex-daniel/README b/challenge-120/alex-daniel/README new file mode 100644 index 0000000000..65550789bd --- /dev/null +++ b/challenge-120/alex-daniel/README @@ -0,0 +1 @@ +Solution by Alex Daniel. diff --git a/challenge-120/alexander-karelas/README b/challenge-120/alexander-karelas/README new file mode 100644 index 0000000000..3de9fce8d9 --- /dev/null +++ b/challenge-120/alexander-karelas/README @@ -0,0 +1 @@ +Solution by Alexander Karelas diff --git a/challenge-120/alexander-pankoff/README b/challenge-120/alexander-pankoff/README new file mode 100644 index 0000000000..41f67807ac --- /dev/null +++ b/challenge-120/alexander-pankoff/README @@ -0,0 +1 @@ +Solution by Alexander Pankoff diff --git a/challenge-120/alicia-bielsa/README b/challenge-120/alicia-bielsa/README new file mode 100644 index 0000000000..c5187874c3 --- /dev/null +++ b/challenge-120/alicia-bielsa/README @@ -0,0 +1 @@ +Solution by Alicia Beilsa. diff --git a/challenge-120/andinus/README b/challenge-120/andinus/README new file mode 100644 index 0000000000..369b209e92 --- /dev/null +++ b/challenge-120/andinus/README @@ -0,0 +1,55 @@ + ━━━━━━━━━━━━━━━ + CHALLENGE 115 + + Andinus + ━━━━━━━━━━━━━━━ + + + 2021-06-02 + + +Table of Contents +───────────────── + +Task 2 - Largest Multiple + + + + + +Task 2 - Largest Multiple +═════════════════════════ + + You are given a list of positive integers (0-9), single digit. + + Write a script to find the largest multiple of 2 that can be formed + from the list. + + ┌──── + │ Input: @N = (1, 0, 2, 6) + │ Output: 6210 + │ + │ Input: @N = (1, 4, 2, 8) + │ Output: 8412 + │ + │ Input: @N = (4, 1, 7, 6) + │ Output: 7614 + └──── + + +Raku +──── + + • Program: + + `@nums' stores user entered numbers. The program terminates if there + are no even numbers in `@nums'. We get the least even number & then + just reverse the rest of the sorted list & join them. + + ┌──── + │ @nums = @nums>>.Int.sort; + │ die "No even number!" unless @nums.grep(* %% 2); + │ + │ my Int $least-even = @nums.splice(@nums.first(* %% 2, :k), 1).first; + │ say (|@nums.reverse, $least-even).join; + └──── diff --git a/challenge-120/andrezgz/README b/challenge-120/andrezgz/README new file mode 100644 index 0000000000..f4fd0da88e --- /dev/null +++ b/challenge-120/andrezgz/README @@ -0,0 +1 @@ +Solution by Andrezgz diff --git a/challenge-120/anton-fedotov/README b/challenge-120/anton-fedotov/README new file mode 100644 index 0000000000..f7c4f6deed --- /dev/null +++ b/challenge-120/anton-fedotov/README @@ -0,0 +1 @@ +Solutions by Anton Fedotov. diff --git a/challenge-120/antonio-gamiz/README b/challenge-120/antonio-gamiz/README new file mode 100644 index 0000000000..1f5ed5871a --- /dev/null +++ b/challenge-120/antonio-gamiz/README @@ -0,0 +1 @@ +Solution by Antonio Gamiz diff --git a/challenge-120/arne-sommer/README b/challenge-120/arne-sommer/README new file mode 100644 index 0000000000..b5d88e4df4 --- /dev/null +++ b/challenge-120/arne-sommer/README @@ -0,0 +1 @@ +Solution by Arne Sommer. diff --git a/challenge-120/arpad-toth/README b/challenge-120/arpad-toth/README new file mode 100644 index 0000000000..6661dd82c1 --- /dev/null +++ b/challenge-120/arpad-toth/README @@ -0,0 +1 @@ +Solution by Arpad Toth diff --git a/challenge-120/ash/README b/challenge-120/ash/README new file mode 100644 index 0000000000..318b1bfb41 --- /dev/null +++ b/challenge-120/ash/README @@ -0,0 +1 @@ +Solutions by Andrew Shitov diff --git a/challenge-120/athanasius/README b/challenge-120/athanasius/README new file mode 100644 index 0000000000..cc357fda4a --- /dev/null +++ b/challenge-120/athanasius/README @@ -0,0 +1 @@ +Solution by Athanasius diff --git a/challenge-120/aubrey-quarcoo/README b/challenge-120/aubrey-quarcoo/README new file mode 100644 index 0000000000..8e63a2c1f5 --- /dev/null +++ b/challenge-120/aubrey-quarcoo/README @@ -0,0 +1 @@ +Solution by Aubrey Quarcoo diff --git a/challenge-120/aviral-goel/README b/challenge-120/aviral-goel/README new file mode 100644 index 0000000000..e64ee14512 --- /dev/null +++ b/challenge-120/aviral-goel/README @@ -0,0 +1 @@ +Solutions by Aviral Goel. diff --git a/challenge-120/belmark-caday/README b/challenge-120/belmark-caday/README new file mode 100644 index 0000000000..6726590965 --- /dev/null +++ b/challenge-120/belmark-caday/README @@ -0,0 +1 @@ +Solutions by Belmark Caday. diff --git a/challenge-120/ben-davies/README.md b/challenge-120/ben-davies/README.md new file mode 100644 index 0000000000..77158344c9 --- /dev/null +++ b/challenge-120/ben-davies/README.md @@ -0,0 +1 @@ +Solution by Ben Davies diff --git a/challenge-120/bill-palmer/README b/challenge-120/bill-palmer/README new file mode 100644 index 0000000000..08ec849a41 --- /dev/null +++ b/challenge-120/bill-palmer/README @@ -0,0 +1 @@ +Solution by Bill Palmer. diff --git a/challenge-120/bkb/README b/challenge-120/bkb/README new file mode 100644 index 0000000000..4721993bb3 --- /dev/null +++ b/challenge-120/bkb/README @@ -0,0 +1 @@ +Solution by Ben Bullock. diff --git a/challenge-120/bob-kleemann/README b/challenge-120/bob-kleemann/README new file mode 100644 index 0000000000..78680e4035 --- /dev/null +++ b/challenge-120/bob-kleemann/README @@ -0,0 +1 @@ +Solution by Bob Kleemann diff --git a/challenge-120/bob-lied/README b/challenge-120/bob-lied/README new file mode 100644 index 0000000000..bbaa2cbbcb --- /dev/null +++ b/challenge-120/bob-lied/README @@ -0,0 +1,3 @@ +Solutions to weekly challenge 116 by Bob Lied. + +https://perlweeklychallenge.org/blog/perl-weekly-challenge-116/ diff --git a/challenge-120/brtastic/README b/challenge-120/brtastic/README new file mode 100644 index 0000000000..0fbe79fd6f --- /dev/null +++ b/challenge-120/brtastic/README @@ -0,0 +1 @@ +Solutions by Bartosz Jarzyna. diff --git a/challenge-120/bruce-gray/README b/challenge-120/bruce-gray/README new file mode 100644 index 0000000000..5d0deab51b --- /dev/null +++ b/challenge-120/bruce-gray/README @@ -0,0 +1 @@ +Solutions by Bruce Gray. diff --git a/challenge-120/bruno-ramos/README b/challenge-120/bruno-ramos/README new file mode 100644 index 0000000000..9d631dad8f --- /dev/null +++ b/challenge-120/bruno-ramos/README @@ -0,0 +1 @@ +Solutions by Bruno Ramos. diff --git a/challenge-120/burkhard-nickels/README b/challenge-120/burkhard-nickels/README new file mode 100644 index 0000000000..f5e16bb98b --- /dev/null +++ b/challenge-120/burkhard-nickels/README @@ -0,0 +1 @@ +Solutions by Burkhard Nickels. diff --git a/challenge-120/bwva/README b/challenge-120/bwva/README new file mode 100644 index 0000000000..ee6a7d7dc1 --- /dev/null +++ b/challenge-120/bwva/README @@ -0,0 +1 @@ +Solution(s) by bwva (Bruce Van Allen) diff --git a/challenge-120/cheok-yin-fung/README b/challenge-120/cheok-yin-fung/README new file mode 100644 index 0000000000..4413b13ada --- /dev/null +++ b/challenge-120/cheok-yin-fung/README @@ -0,0 +1 @@ +Solutions by Cheok-Yin Fung. diff --git a/challenge-120/christian-jaeger/README b/challenge-120/christian-jaeger/README new file mode 100644 index 0000000000..4ef4f11c10 --- /dev/null +++ b/challenge-120/christian-jaeger/README @@ -0,0 +1 @@ +Solution by Christian Jaeger diff --git a/challenge-120/cliveholloway/README b/challenge-120/cliveholloway/README new file mode 100644 index 0000000000..b69201296e --- /dev/null +++ b/challenge-120/cliveholloway/README @@ -0,0 +1 @@ +Solution by Clive Holloway diff --git a/challenge-120/colin-crain/README b/challenge-120/colin-crain/README new file mode 100644 index 0000000000..2a5d87e97d --- /dev/null +++ b/challenge-120/colin-crain/README @@ -0,0 +1 @@ +Solutions by Colin Crain. diff --git a/challenge-120/craig/README b/challenge-120/craig/README new file mode 100644 index 0000000000..18088481eb --- /dev/null +++ b/challenge-120/craig/README @@ -0,0 +1 @@ +Solutions by Craig. diff --git a/challenge-120/creewick/README b/challenge-120/creewick/README new file mode 100644 index 0000000000..c490e4fb80 --- /dev/null +++ b/challenge-120/creewick/README @@ -0,0 +1 @@ +Solutions by Creewick. diff --git a/challenge-120/cristian-heredia/README b/challenge-120/cristian-heredia/README new file mode 100644 index 0000000000..c53da8a54c --- /dev/null +++ b/challenge-120/cristian-heredia/README @@ -0,0 +1 @@ +Solutions by Cristina Heredia. diff --git a/challenge-120/daniel-mantovani/README b/challenge-120/daniel-mantovani/README new file mode 100644 index 0000000000..ed538216f2 --- /dev/null +++ b/challenge-120/daniel-mantovani/README @@ -0,0 +1 @@ +Solution by Daniel Mantovani diff --git a/challenge-120/daniel-mita/README b/challenge-120/daniel-mita/README new file mode 100644 index 0000000000..37339f491f --- /dev/null +++ b/challenge-120/daniel-mita/README @@ -0,0 +1 @@ +Solution by Daniel Mita diff --git a/challenge-120/darren-bottin/README b/challenge-120/darren-bottin/README new file mode 100644 index 0000000000..6c792afe8e --- /dev/null +++ b/challenge-120/darren-bottin/README @@ -0,0 +1 @@ +Solutions by Darren Bottin. diff --git a/challenge-120/dave-cross/README b/challenge-120/dave-cross/README new file mode 100644 index 0000000000..04b1b0623b --- /dev/null +++ b/challenge-120/dave-cross/README @@ -0,0 +1 @@ +Solution by Dave Cross diff --git a/challenge-120/dave-jacoby/README b/challenge-120/dave-jacoby/README new file mode 100644 index 0000000000..7c06689f16 --- /dev/null +++ b/challenge-120/dave-jacoby/README @@ -0,0 +1 @@ +Solution by Dave Jacoby diff --git a/challenge-120/david-kayal/README b/challenge-120/david-kayal/README new file mode 100644 index 0000000000..66f8615260 --- /dev/null +++ b/challenge-120/david-kayal/README @@ -0,0 +1 @@ +Solution by David Kayal diff --git a/challenge-120/ddobbelaere/README b/challenge-120/ddobbelaere/README new file mode 100644 index 0000000000..36f8cdcd67 --- /dev/null +++ b/challenge-120/ddobbelaere/README @@ -0,0 +1 @@ +Solution by Dieter Dobbelaere diff --git a/challenge-120/deadmarshal/README b/challenge-120/deadmarshal/README new file mode 100644 index 0000000000..243097dede --- /dev/null +++ b/challenge-120/deadmarshal/README @@ -0,0 +1 @@ +Solution by Ali Moradi \ No newline at end of file diff --git a/challenge-120/denis-yurashku/README b/challenge-120/denis-yurashku/README new file mode 100644 index 0000000000..2fea994000 --- /dev/null +++ b/challenge-120/denis-yurashku/README @@ -0,0 +1 @@ +Solutions by Denis Yurashku. diff --git a/challenge-120/dms061/readme b/challenge-120/dms061/readme new file mode 100644 index 0000000000..e2684c7d25 --- /dev/null +++ b/challenge-120/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-120/donald-hunter/README b/challenge-120/donald-hunter/README new file mode 100644 index 0000000000..2eef878f17 --- /dev/null +++ b/challenge-120/donald-hunter/README @@ -0,0 +1 @@ +Solutions by Donald Hunter. diff --git a/challenge-120/doug-schrag/README b/challenge-120/doug-schrag/README new file mode 100644 index 0000000000..bf8a10ffb4 --- /dev/null +++ b/challenge-120/doug-schrag/README @@ -0,0 +1 @@ +Solution by Doug Schrag diff --git a/challenge-120/dracos/README b/challenge-120/dracos/README new file mode 100644 index 0000000000..a9a6517a03 --- /dev/null +++ b/challenge-120/dracos/README @@ -0,0 +1 @@ +Solutions by Matthew Somerville. diff --git a/challenge-120/duane-powell/README b/challenge-120/duane-powell/README new file mode 100644 index 0000000000..3445422743 --- /dev/null +++ b/challenge-120/duane-powell/README @@ -0,0 +1 @@ +Solutions by Duane Powell. diff --git a/challenge-120/duncan-c-white/README b/challenge-120/duncan-c-white/README new file mode 100644 index 0000000000..fde1701c16 --- /dev/null +++ b/challenge-120/duncan-c-white/README @@ -0,0 +1,54 @@ +Task 1: "Swap Nibbles + +You are given a positive integer $N. + +Write a script to swap the two nibbles of the binary representation +of the given number and print the decimal number of the new binary +representation. + +A nibble is a four-bit aggregation, or half an octet. + +To keep the task simple, we only allow integer less than or equal to 255. + +Example + + Input: $N = 101 + Output: 86 + + Binary representation of decimal 101 is 1100101 or as 2 nibbles (0110)(0101). + The swapped nibbles would be (0101)(0110) same as decimal 86. + + Input: $N = 18 + Output: 33 + + Binary representation of decimal 18 is 10010 or as 2 nibbles (0001)(0010). + The swapped nibbles would be (0010)(0001) same as decimal 33. +" + +My notes: trivial. + + +Task 2: "Sequence without 1-on-1 + +Write a script to generate sequence starting at 1. Consider the increasing +sequence of integers which contain only 1's, 2's and 3's, and +do not have any doublets of 1's like below. Please accept a positive +integer $N and print the $Nth term in the generated sequence. + + 1, 2, 3, 12, 13, 21, 22, 23, 31, 32, 33, 121, 122, 123, 131, ... + +Example + + Input: $N = 5 + Output: 13 + + Input: $N = 10 + Output: 32 + + Input: $N = 60 + Output: 2223 +" + +My notes: hmm, depends on what we mean by "doublet", as in "no doublets of 1". +I'm choosing to assume that it means "no two sequential 1s". should be +pretty easy. diff --git a/challenge-120/e-choroba/README b/challenge-120/e-choroba/README new file mode 100644 index 0000000000..efff637bcb --- /dev/null +++ b/challenge-120/e-choroba/README @@ -0,0 +1 @@ +Solutions by E. Choroba. diff --git a/challenge-120/eddy-hs/README b/challenge-120/eddy-hs/README new file mode 100644 index 0000000000..0ed51d222d --- /dev/null +++ b/challenge-120/eddy-hs/README @@ -0,0 +1 @@ +Solution by Eddy HS diff --git a/challenge-120/eric-cheung/README b/challenge-120/eric-cheung/README new file mode 100644 index 0000000000..1bf6db4498 --- /dev/null +++ b/challenge-120/eric-cheung/README @@ -0,0 +1 @@ +Solutions by Eric Cheung. diff --git a/challenge-120/fabrizio-poggi/README b/challenge-120/fabrizio-poggi/README new file mode 100644 index 0000000000..3c17b29182 --- /dev/null +++ b/challenge-120/fabrizio-poggi/README @@ -0,0 +1 @@ +Solutions by Fabrizio Poggi. diff --git a/challenge-120/feng-chang/README b/challenge-120/feng-chang/README new file mode 100644 index 0000000000..74e56de3ed --- /dev/null +++ b/challenge-120/feng-chang/README @@ -0,0 +1 @@ +Solutions by Feng Chang. diff --git a/challenge-120/finanalyst/README b/challenge-120/finanalyst/README new file mode 100644 index 0000000000..15f7652e32 --- /dev/null +++ b/challenge-120/finanalyst/README @@ -0,0 +1 @@ +Solution by Richard Hainsworth, aka finanalyst diff --git a/challenge-120/finley/README b/challenge-120/finley/README new file mode 100644 index 0000000000..f08a121076 --- /dev/null +++ b/challenge-120/finley/README @@ -0,0 +1 @@ +Solution by Finley diff --git a/challenge-120/fjwhittle/README b/challenge-120/fjwhittle/README new file mode 100644 index 0000000000..7dcc95e189 --- /dev/null +++ b/challenge-120/fjwhittle/README @@ -0,0 +1 @@ +Solution by Francis Whittle diff --git a/challenge-120/frankivo/README b/challenge-120/frankivo/README new file mode 100644 index 0000000000..681b15b36c --- /dev/null +++ b/challenge-120/frankivo/README @@ -0,0 +1 @@ +Solution by Frank Oosterhuis. diff --git a/challenge-120/fred-zinn/README b/challenge-120/fred-zinn/README new file mode 100644 index 0000000000..17bac4f094 --- /dev/null +++ b/challenge-120/fred-zinn/README @@ -0,0 +1 @@ +Solution by Fred Zinn diff --git a/challenge-120/freddie-b/README b/challenge-120/freddie-b/README new file mode 100644 index 0000000000..823d7474b5 --- /dev/null +++ b/challenge-120/freddie-b/README @@ -0,0 +1 @@ +Solution by Freddie B diff --git a/challenge-120/garrett-goebel/README b/challenge-120/garrett-goebel/README new file mode 100644 index 0000000000..a8aa246dbb --- /dev/null +++ b/challenge-120/garrett-goebel/README @@ -0,0 +1 @@ +Solution by Garrett Goebel diff --git a/challenge-120/giuseppe-terlizzi/README b/challenge-120/giuseppe-terlizzi/README new file mode 100644 index 0000000000..0bff2a945c --- /dev/null +++ b/challenge-120/giuseppe-terlizzi/README @@ -0,0 +1 @@ +Solutions by Giuseppe Di Terlizzi. diff --git a/challenge-120/gugod/README b/challenge-120/gugod/README new file mode 100644 index 0000000000..509fd4c50c --- /dev/null +++ b/challenge-120/gugod/README @@ -0,0 +1 @@ +Solutions by Kang-min Liu. diff --git a/challenge-120/gugod/rust/.gitignore b/challenge-120/gugod/rust/.gitignore new file mode 100644 index 0000000000..ac77297bfe --- /dev/null +++ b/challenge-120/gugod/rust/.gitignore @@ -0,0 +1,2 @@ +ch-1 +ch-2 diff --git a/challenge-120/guillermo-ramos/README b/challenge-120/guillermo-ramos/README new file mode 100644 index 0000000000..a39eb01bff --- /dev/null +++ b/challenge-120/guillermo-ramos/README @@ -0,0 +1 @@ +Solution by Guillermo Ramos. diff --git a/challenge-120/gustavo-chaves/README b/challenge-120/gustavo-chaves/README new file mode 100644 index 0000000000..a66bbbf8a3 --- /dev/null +++ b/challenge-120/gustavo-chaves/README @@ -0,0 +1 @@ +Solution by Gustavo Chaves diff --git a/challenge-120/hatorikibble/README b/challenge-120/hatorikibble/README new file mode 100644 index 0000000000..51a9cd4411 --- /dev/null +++ b/challenge-120/hatorikibble/README @@ -0,0 +1 @@ +Solution by Peter Mayr diff --git a/challenge-120/hauke-d/README b/challenge-120/hauke-d/README new file mode 100644 index 0000000000..e201aa0abc --- /dev/null +++ b/challenge-120/hauke-d/README @@ -0,0 +1 @@ +Solutions by Hauke Dämpfling. diff --git a/challenge-120/henry-wong/README b/challenge-120/henry-wong/README new file mode 100644 index 0000000000..3d63a6f0be --- /dev/null +++ b/challenge-120/henry-wong/README @@ -0,0 +1 @@ +Solution by Henry Wong diff --git a/challenge-120/hstejas/README b/challenge-120/hstejas/README new file mode 100644 index 0000000000..969c5c0569 --- /dev/null +++ b/challenge-120/hstejas/README @@ -0,0 +1 @@ +Solution by Tejas diff --git a/challenge-120/ianrifkin/README b/challenge-120/ianrifkin/README new file mode 100644 index 0000000000..2d26297fb9 --- /dev/null +++ b/challenge-120/ianrifkin/README @@ -0,0 +1 @@ +Solution by Ian Rifkin. \ No newline at end of file diff --git a/challenge-120/izifresh/README b/challenge-120/izifresh/README new file mode 100644 index 0000000000..aedce7c408 --- /dev/null +++ b/challenge-120/izifresh/README @@ -0,0 +1 @@ +Solution by izifresh \ No newline at end of file diff --git a/challenge-120/jacques-guinnebault/README b/challenge-120/jacques-guinnebault/README new file mode 100644 index 0000000000..9d3e7c037f --- /dev/null +++ b/challenge-120/jacques-guinnebault/README @@ -0,0 +1 @@ +Solution by Jacques Guinnebault. diff --git a/challenge-120/jaime/README b/challenge-120/jaime/README new file mode 100644 index 0000000000..007cb58459 --- /dev/null +++ b/challenge-120/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-120/jaldhar-h-vyas/README b/challenge-120/jaldhar-h-vyas/README new file mode 100644 index 0000000000..7dce927eca --- /dev/null +++ b/challenge-120/jaldhar-h-vyas/README @@ -0,0 +1 @@ +Solution by Jaldhar H. Vyas diff --git a/challenge-120/james-smith/README.md b/challenge-120/james-smith/README.md new file mode 100644 index 0000000000..11f1a24015 --- /dev/null +++ b/challenge-120/james-smith/README.md @@ -0,0 +1,310 @@ +# Perl Weekly Challenge #119 + +You can find more information about this weeks, and previous weeks challenges at: + + https://perlweeklychallenge.org/ + +If you are not already doing the challenge - it is a good place to practise your +**perl** or **raku**. If it is not **perl** or **raku** you develop in - you can +submit solutions in whichever language you feel comfortable with. + +You can find the solutions here on github at: + +https://github.com/drbaggy/perlweeklychallenge-club/tree/master/challenge-119/james-smith/perl + +# Task 1 - Swap Nibbles + +***You are given a positive integer `$N`. Write a script to swap the two nibbles of the binary representation of the given number and print the decimal number of the new binary representation.((( + +## The solution + +This is a simple binary manipulation problem. + +We can isolate the lower-nibble by bit-wise `&`ing with `15` or `00001111`. We then move it to the upper-nibble by multiplying by `16` OR using the bit-shift operator `<<` to move the bits 4 spaces to the left. + +We can isolate the upper-nibble by bit-wise `&`ing with `240` or `11110000`, and again use the bit-shift operator `>>` to move 4 bits to the right. BUT actually we don't need to perform the bit-wise `&` IF we assume the number is in range (`0`..`255`). As the `>>` operator just drops the bits shifted off. + +To stitch it back together we just `|` the two numbers together. + +```perl +sub swap_nibble { + return ($_[0]>>4) | (($_[0]&15)<<4); +} +``` + +## Other languages + +I've included some other language versions of this code... + +The first 3 are just direct lifts as Javascript, PHP and Python all have bit shift and bitwise operators! The fourth tho' is a bit of curveball "CESIL" the first +language I was "taught" at school - the code was run from punch cards and the printout was on green bar paper! + +### Javascript +```javascript +TESTS = [ [101,86],[18,33] ]; + +TESTS.forEach(_ => console.log( swap_nibble( _[0] ) == _[1] ? 'OK' : '--' ) ); +TESTS.forEach(_ => console.log( swap_nibble( _[1] ) == _[0] ? 'OK' : '--' ) ); + +function swap_nibble(_) { + return (_>>4) | ((_&15)<<4); +} +``` + +### PHP +```php +>4) | (($_&15)<<4); +} +``` + +### Python +```python +TESTS=[[15,240],[165,90]] + +def swap_nibbles(_): + return (_>>4)|((_&15)<<4) + +for t in TESTS: + print( 'OK' if swap_nibbles(t[0])==t[1] else 'Not OK' ) + print( 'OK' if swap_nibbles(t[1])==t[0] else 'Not OK' ) + +``` +### CESIL + +Thought I'd throw in a slightly curve ball - CESIL "*Computer Education in Schools Instructional Language*" written by ICL was the +first language I was formally taught - back in the days when you had to learn how computers worked at bare bones. So it had a +reduced instruction set with just 14 commands - ADD/SUBTRACT/MULTIPLY/DIVIDE, IN/LOAD/STORE, JUMP/JIZERO/JINEG, PRINT/OUT/LINE & HALT. The layout +of code is "structured" with 8 character indent as it was designed to be stored/run on punch-cards... {The reason the "input" appears after a card +with % in it}. + +CESIL was designed to teach "machine-code" to Computer science students - so other than the "I/O" commands everything else was at a basic operation level. + +**Note:** Interestingly in just 26 lines of code - all 14 of the instructions are used...! + +``` + LINE +Next IN + JINEG End + OUT + PRINT " => " + STORE a + IN + STORE c + LOAD a + DIVIDE 16 + STORE b + MULTIPLY -16 + ADD a + MULTIPLY 16 + ADD b + OUT + PRINT " : " + SUBTRACT c + JIZERO Ok + PRINT "--" + JUMP Line +Ok PRINT "OK" +Line LINE + JUMP Next +End LINE + HALT + % + 240 + 15 + 15 + 240 + 0 + 0 + 255 + 255 + 99 + 54 + -1 +``` +### Side note... an intepreter for CESIL... + +Didn't like the idea of relying on JAVA... so here is a bare bones +interpreter... This uses a dispatch table to execute the commands +- a list of "anonymous" subroutines stored in a hash. + +```perl +use strict; +use warnings; + +## Initialize state +my($MAX,$ptr,$reg,@in,%mem,@code,%ptrs)=(1e6,0,0); + +## Define error messages +my %messages = ( +'i','No further input','d','Division by zero ', +'l','Unknown pointer ','m','Unitialized memory at '); + +## Support functions +sub _e { die sprintf "\n** %s%s [%s @ %d]\n", + $messages{$_[0]},@{$code[$ptr]}[1,0],1+$ptr} +sub _j { exists$ptrs{$_}?($ptr=$ptrs{$_}-1):_e 'l'} +sub _v { /^-?\d+$/?$_:exists$mem{$_}?$mem{$_}:_e 'm'} + +## Command dispatch table +my %commands = ( +'LINE' ,sub{print "\n"}, +'OUT' ,sub{print $reg}, +'PRINT' ,sub{print s/^"//r=~s/"$//r}, +'IN' ,sub{@in?($reg=shift@in):_e 'i'}, +'STORE' ,sub{$mem{$_}=$reg}, +'LOAD' ,sub{$reg=_v}, +'ADD' ,sub{$reg+=_v}, +'SUBTRACT',sub{$reg-=_v}, +'MULTIPLY',sub{$reg*=_v}, +'DIVIDE' ,sub{$_=_v;$reg=$_?int($reg/$_):_e 'd'}, +'JINEG' ,sub{_j if $reg<0}, +'JIZERO' ,sub{_j if !$reg}, +'JUMP' ,sub{_j}, +'HALT' ,sub{exit}, +); + +## Parser loop +while(<>) { + ((@in=map{/^\s+-?\d+\s*$/?0+$_:()}<>),last)if/^ {8}%/; + ($ptrs{$1},$_)=(0+@code,$2) if m/^(\S{1,7})\s+(.*)/; + my($cmd,$data) = split/\s+/,s/^\s+//r=~s/\s+$//r, 2; + die "\n## Unknown command [$cmd @ ",1+@code,"]\n" + unless exists $commands{$cmd}; + push @code, [$cmd,$data//'']; +} +## Execution loop +($commands{$code[$ptr][0]}($_=$code[$ptr][1]),$ptr++) + while--$MAX&& $ptr<@code; +die "\n** Exited without HALT\n"; +``` +# Task 2 - Sequence without 1-on-1 + +***Write a script to generate sequence starting at 1. Consider the increasing +sequence of integers which contain only 1’s, 2’s and 3’s, and do not have any +doublets of 1’s like below. Please accept a positive integer `$N` and print +the `$N`th term in the generated sequence.*** + +``` +1, 2, 3, 12, 13, 21, 22, 23, 31, 32, 33, 121, 122, 123, 131, ... +``` + +## The solution + +Note this is a first pass solution.... + +To avoid splitting/unsplitting - we will keep the digits as an array. +We then just increment the last entry of the array, and carry over +any bits to the previous entry. Finally if we get to the start of the +array we unshift a 1 in front of it... + +In the outer loop we compute the next number - but we don't increment +the counter if the number has two adjacent 1s. + +```perl +sub no_11_array { + my( $n, $ptr, @v ) = ( shift, undef, 0 ); + for( my $i = 0; $i < $n; ) { + for( $ptr = $#v; $ptr>-1 && ++$v[$ptr]>3; $ptr--) { + $v[$ptr]=1; + } + unshift @v,1 if $ptr < 0; + $i++ unless "@v"=~m{1 1}; + } + return join q(),@v; +} +``` + +Comparing this to the pure script using numbers and filtering out those +that contain any of the digits `0`, `4` through `9` or the string `11` +using a regexp sees an approximately `15x` speed up. If you optimize +the filter using a series of index calls you can double the speed of the +code at the expense of a slightly longer function BUT it is still less +than a seventh of the performance of the array version. + +```perl +sub no_11_filter { + my $n = shift; + my $v = 0; + while(1){ + return $v unless $n; + $v++; + $n-- if 0 > index( $v,'4' ) && 0 > index( $v,'0' ) + && 0 > index( $v,'5' ) && 0 > index( $v,'6' ) + && 0 > index( $v,'7' ) && 0 > index( $v,'8' ) + && 0 > index( $v,'9' ) && 0 > index( $v,'11' ); + } +} + +``` + +### Making the code more *readable*.... + +This is a nice challenge to make the code more "readable", by encapsulating our new "number" string as an object. + +We will overload it's increment operator so that we can generate the sequence + +``` + 1, 2, 3, 11, 12, 13, 21, 22, 23, 31, 32, 33, 111 +``` + +The object itself is just a blessed array. + +We use `overload` to define both the "increment" operator `++` and the "stringfy" +operator "". + +We then define a simple method to test whether or not the "string" contains a double 1. + +The package code is below - but first the loop in the code: + +```perl +sub no_11_object { + my( $n, $v ) = ( shift, Three->new ); + for( my $i = 0; $i < $n; $v++, $i++ ) { + $v++ while $v->has_double_one; + } + return "$v"; +} +``` + +Although the code is "cleaner" performance is affected - it is about half the speed of the optimal (array) solution but still 4 times as fast as the (non-regex) filter method. +```perl +package Three; + +use overload '++' => 'incr'; +use overload '""' => 'str'; + +sub new { + return bless [], 'Three'; +} + +sub has_double_one { + my( $f, @v ) = @{$_[0]}; + ( $f == 1 && $v[0] == 1 ) ? ( return 1 ) : ( $f = shift @v ) while @v; + return 0; +} + +sub incr { + my($v,$ptr) = (shift,-1); + for( $ptr = $#$v; $ptr>-1 && ++$v->[$ptr]>3; $ptr--) { + $v->[$ptr]=1; + } + unshift @{$v}, 1 if $ptr < 0; +} + +sub str { + return join '',@{$_[0]}; +} + + +1; +``` diff --git a/challenge-120/jan-perl/README b/challenge-120/jan-perl/README new file mode 100644 index 0000000000..70e335d7d7 --- /dev/null +++ b/challenge-120/jan-perl/README @@ -0,0 +1 @@ +Solution by Jan Hoogenraad diff --git a/challenge-120/jaredor/README b/challenge-120/jaredor/README new file mode 100644 index 0000000000..398fcc9bae --- /dev/null +++ b/challenge-120/jaredor/README @@ -0,0 +1 @@ +Solution by Jared Martin diff --git a/challenge-120/jason-messer/README b/challenge-120/jason-messer/README new file mode 100644 index 0000000000..db0556d981 --- /dev/null +++ b/challenge-120/jason-messer/README @@ -0,0 +1 @@ +Raku Solutions by Jason Messer diff --git a/challenge-120/javier-luque/README b/challenge-120/javier-luque/README new file mode 100644 index 0000000000..887e7fc81a --- /dev/null