From 65d54d52500028ec5359a7d39619803ade281543 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 15 Mar 2021 06:57:41 +0000 Subject: - Added template for week 104. --- challenge-104/3ter/README | 1 + challenge-104/LoneWolfiNTj/README | 1 + challenge-104/aaron-rowe/README | 1 + challenge-104/aaron-sherman/README | 1 + challenge-104/aaronreidsmith/README | 1 + challenge-104/abigail/README.md | 137 +++++++++++++ challenge-104/adam-russell/README | 1 + challenge-104/ailbhe-tweedie/README | 1 + challenge-104/alex-daniel/README | 1 + challenge-104/alexander-karelas/README | 1 + challenge-104/alexander-pankoff/README | 1 + challenge-104/alicia-bielsa/README | 1 + challenge-104/andinus/README | 122 ++++++++++++ challenge-104/andinus/README.org | 102 ++++++++++ challenge-104/andrezgz/README | 1 + challenge-104/anton-fedotov/README | 1 + challenge-104/antonio-gamiz/README | 1 + challenge-104/arne-sommer/README | 1 + challenge-104/arpad-toth/README | 1 + challenge-104/ash/README | 1 + challenge-104/athanasius/README | 1 + challenge-104/aubrey-quarcoo/README | 1 + challenge-104/aviral-goel/README | 1 + challenge-104/ben-davies/README.md | 1 + challenge-104/bill-palmer/README | 1 + challenge-104/bkb/README | 1 + challenge-104/bob-kleemann/README | 1 + challenge-104/bob-lied/README | 3 + challenge-104/brtastic/README | 1 + challenge-104/bruno-ramos/README | 1 + challenge-104/burkhard-nickels/README | 1 + challenge-104/bwva/README | 1 + challenge-104/cheok-yin-fung/README | 1 + challenge-104/cliveholloway/README | 1 + challenge-104/colin-crain/README | 1 + challenge-104/craig/README | 1 + challenge-104/creewick/README | 1 + challenge-104/cristian-heredia/README | 1 + challenge-104/daniel-mantovani/README | 1 + challenge-104/daniel-mita/README | 1 + challenge-104/darren-bottin/README | 1 + challenge-104/dave-cross/README | 1 + challenge-104/dave-jacoby/README | 1 + challenge-104/david-kayal/README | 1 + challenge-104/ddobbelaere/README | 1 + challenge-104/deadmarshal/README | 1 + challenge-104/denis-yurashku/README | 1 + challenge-104/donald-hunter/README | 1 + challenge-104/doug-schrag/README | 1 + challenge-104/dracos/README | 1 + challenge-104/duane-powell/README | 1 + challenge-104/duncan-c-white/README | 96 +++++++++ challenge-104/e-choroba/README | 1 + challenge-104/eddy-hs/README | 1 + challenge-104/fabrizio-poggi/README | 1 + challenge-104/feng-chang/README | 1 + challenge-104/finanalyst/README | 1 + challenge-104/finley/README | 1 + challenge-104/fjwhittle/README | 1 + challenge-104/frankivo/README | 1 + challenge-104/fred-zinn/README | 1 + challenge-104/freddie-b/README | 1 + challenge-104/garrett-goebel/README | 1 + challenge-104/giuseppe-terlizzi/README | 1 + challenge-104/gugod/README | 1 + challenge-104/gugod/rust/.gitignore | 2 + challenge-104/gugod/rust/Makefile | 10 + challenge-104/guillermo-ramos/README | 1 + challenge-104/gustavo-chaves/README | 1 + challenge-104/hauke-d/README | 1 + challenge-104/henry-wong/README | 1 + challenge-104/hstejas/README | 1 + challenge-104/ianrifkin/README | 1 + challenge-104/izifresh/README | 1 + challenge-104/jacques-guinnebault/README | 1 + challenge-104/jaime/README | 59 ++++++ challenge-104/jaldhar-h-vyas/README | 1 + challenge-104/james-smith/README.md | 2 + challenge-104/jan-perl/README | 1 + challenge-104/jaredor/README | 1 + challenge-104/jason-messer/README | 1 + challenge-104/javier-luque/README | 1 + challenge-104/jcrosswh/README | 1 + challenge-104/jeff/README | 1 + challenge-104/jeongoon/.gitignore | 5 + challenge-104/jeongoon/README | 1 + challenge-104/jeremy-carman/README | 1 + challenge-104/jim-bacon/README | 1 + challenge-104/jitu-keshwani/README | 1 + challenge-104/jj-merelo/README | 1 + challenge-104/jluis/README | 1 + challenge-104/jo-37/README | 1 + challenge-104/jo-christian-oterhals/README | 1 + challenge-104/joe-tym/README | 1 + challenge-104/joelle-maslak/README | 1 + challenge-104/john-barrett/README | 1 + challenge-104/jokraft/README | 1 + challenge-104/juan-caballero/README | 1 + challenge-104/julien-fiegehenn/README | 1 + challenge-104/juliodcs/README | 1 + challenge-104/kai-burgdorf/README.md | 1 + challenge-104/kevin-colyer/README | 3 + challenge-104/khalid/README | 1 + challenge-104/kian-meng-ang/README | 1 + challenge-104/kiran-kumar/README | 1 + challenge-104/kivanc-yazan/.gitignore | 2 + challenge-104/kivanc-yazan/README | 1 + challenge-104/kordaff/README | 1 + challenge-104/lance-wicks/README | 1 + challenge-104/lars-balker/README | 1 + challenge-104/lars-thegler/README | 1 + challenge-104/laurent-rosenfeld/README | 1 + challenge-104/leoltron/README | 1 + challenge-104/lubos-kolouch/README | 1 + challenge-104/luca-ferrari/README | 1 + challenge-104/magnus-woldrich/README | 1 + challenge-104/manfredi/README | 1 + challenge-104/mano-chandar/README | 1 + challenge-104/mark-anderson/README | 1 + challenge-104/mark-senn/README | 1 + challenge-104/markjreed/README | 6 + challenge-104/markus-holzer/README | 1 + challenge-104/martin-barth/README | 1 + challenge-104/martin-mugeni/README | 1 + challenge-104/mathmauney/README | 1 + challenge-104/matt-latusek/README | 1 + challenge-104/matthew-persico/README | 1 + challenge-104/maxim-kolodyazhny/README | 1 + challenge-104/maxim-nechaev/README | 1 + challenge-104/michael-hamlin/README | 5 + challenge-104/michael-schaap/README | 1 + challenge-104/mihail-iosilevitch/README | 1 + challenge-104/mike-accardo/README | 1 + challenge-104/mimosinnet/README | 1 + challenge-104/mohammad-anwar/README | 1 + challenge-104/ndelucca/README | 1 + challenge-104/neil-bowers/README | 1 + challenge-104/nick-logan/README | 1 + challenge-104/nikhil-prasanna/README | 1 + challenge-104/noud/README | 1 + challenge-104/nunovieira220/README | 1 + challenge-104/ohmycloud/README | 1 + challenge-104/oleksii-tsvietnov/README | 1 + challenge-104/olli-antti/README | 1 + challenge-104/orestis-zekai/README | 1 + challenge-104/ozzy/README | 1 + challenge-104/p6steve/README | 1 + challenge-104/pablo-saavedra/README | 1 + challenge-104/paulo-custodio/README | 1 + challenge-104/pavel-jurca/README | 1 + challenge-104/pavel-starikov/README | 1 + challenge-104/pavel_kuptsov/README | 2 + challenge-104/perlboy1967/README | 1 + challenge-104/pete-houston/README | 1 + challenge-104/pete-sergeant/README | 1 + challenge-104/peter-meszaros/README | 1 + challenge-104/peter-scott/README | 1 + challenge-104/petr-roubicek/README | 1 + challenge-104/philippe-bruhat/README | 1 + challenge-104/phillip-harris/README | 1 + challenge-104/pjdurai/README | 1 + challenge-104/pkmnx/README | 1 + challenge-104/plis-acm/.gitignore | 1 + challenge-104/plis-acm/README | 1 + challenge-104/polettix/README | 1 + challenge-104/polettix/cpanfile | 1 + challenge-104/polettix/cpanfile.snapshot | 120 ++++++++++++ challenge-104/polettix/perl/.gitignore | 1 + challenge-104/prajith-p/README | 1 + challenge-104/rage311/README | 1 + challenge-104/rakulius/README | 1 + challenge-104/randy-lauen/README | 1 + challenge-104/richard-park/README | 1 + challenge-104/rnuttall/README | 1 + challenge-104/rob-van-dam/README | 1 + challenge-104/rob4t/README | 1 + challenge-104/roger-bell-west/README | 1 + challenge-104/ruben-westerberg/README | 9 + challenge-104/ryan-thompson/README.md | 19 ++ challenge-104/saiftynet/README | 1 + challenge-104/samir-parikh/README | 1 + challenge-104/sangeet-kar/README | 1 + challenge-104/sean-meininger/README | 1 + challenge-104/sergiotarxz/README | 1 + challenge-104/sgreen/README.md | 3 + challenge-104/shahed-nooshmand/README | 1 + challenge-104/shardiwal/README | 1 + challenge-104/shaun-pearce/README | 1 + challenge-104/shawak/README.md | 1 + challenge-104/shawn-wagner/README | 1 + challenge-104/shawn-wagner/ocaml/dune | 3 + challenge-104/simon-miner/README | 1 + challenge-104/simon-proctor/README | 1 + challenge-104/simon-reinhardt/README | 1 + challenge-104/sol-demuth/README | 1 + challenge-104/southpawgeek/README | 1 + challenge-104/stephanie-stein/README | 1 + challenge-104/steve-rogerson/README | 1 + challenge-104/steven-lembark/README | 1 + challenge-104/steven-wilson/README | 1 + challenge-104/stuart-little/README | 1 + challenge-104/svetlana-nesterova/README | 1 + challenge-104/swaggboi/README | 1 + challenge-104/ted-leahy/README | 1 + challenge-104/testerR59/README | 1 + challenge-104/tiago-stock/README | 1 + challenge-104/tim-smith/README | 1 + challenge-104/tore-andersson/README | 1 + challenge-104/trenton-langer/README | 1 + challenge-104/tyler-limkemann/README | 1 + challenge-104/tyler-wardhaugh/README | 1 + challenge-104/tyler-wardhaugh/clojure/.gitignore | 16 ++ challenge-104/tyler-wardhaugh/clojure/LICENSE | 214 +++++++++++++++++++++ challenge-104/tyler-wardhaugh/clojure/README.md | 35 ++++ challenge-104/tyler-wardhaugh/clojure/deps.edn | 19 ++ challenge-104/tyler-wardhaugh/clojure/pom.xml | 55 ++++++ .../tyler-wardhaugh/clojure/resources/.keep | 0 challenge-104/tyler-wardhaugh/lua/README.md | 23 +++ challenge-104/tyler-wardhaugh/python/.gitignore | 24 +++ challenge-104/tyler-wardhaugh/python/Makefile | 13 ++ challenge-104/tyler-wardhaugh/python/README.md | 29 +++ challenge-104/ulrich-rieke/README | 1 + challenge-104/user-person/README | 1 + challenge-104/uzluisf/README | 1 + challenge-104/veesh-goldman/README | 1 + challenge-104/vinod-k/README | 1 + challenge-104/vinod-pal/README | 1 + challenge-104/vyacheslav-volgarev/README | 1 + challenge-104/walt-mankowski/README.md | 58 ++++++ challenge-104/walt-mankowski/c/.gitignore | 2 + challenge-104/walt-mankowski/cpp/.gitignore | 2 + .../walt-mankowski/python/.python-version | 1 + challenge-104/wambash/README | 1 + challenge-104/wanderdoc/README | 1 + challenge-104/will-west/README | 1 + challenge-104/william-gilmore/README | 1 + challenge-104/wlmb/README | 1 + challenge-104/x1mandi/README | 1 + challenge-104/xkr47/README | 11 ++ challenge-104/xliff/README | 1 + challenge-104/yary-h/README | 1 + challenge-104/yet-ebreo/README | 1 + challenge-104/yozen-hernandez/README | 1 + challenge-104/ziameraj16/README.md | 61 ++++++ .../ziameraj16/kotlin/META-INF/main.kotlin_module | Bin 0 -> 24 bytes clean-up-dir.sh | 1 + 246 files changed, 1482 insertions(+) create mode 100644 challenge-104/3ter/README create mode 100755 challenge-104/LoneWolfiNTj/README create mode 100644 challenge-104/aaron-rowe/README create mode 100644 challenge-104/aaron-sherman/README create mode 100644 challenge-104/aaronreidsmith/README create mode 100644 challenge-104/abigail/README.md create mode 100644 challenge-104/adam-russell/README create mode 100644 challenge-104/ailbhe-tweedie/README create mode 100644 challenge-104/alex-daniel/README create mode 100644 challenge-104/alexander-karelas/README create mode 100644 challenge-104/alexander-pankoff/README create mode 100644 challenge-104/alicia-bielsa/README create mode 100644 challenge-104/andinus/README create mode 100644 challenge-104/andinus/README.org create mode 100644 challenge-104/andrezgz/README create mode 100644 challenge-104/anton-fedotov/README create mode 100644 challenge-104/antonio-gamiz/README create mode 100644 challenge-104/arne-sommer/README create mode 100644 challenge-104/arpad-toth/README create mode 100644 challenge-104/ash/README create mode 100644 challenge-104/athanasius/README create mode 100644 challenge-104/aubrey-quarcoo/README create mode 100644 challenge-104/aviral-goel/README create mode 100644 challenge-104/ben-davies/README.md create mode 100644 challenge-104/bill-palmer/README create mode 100644 challenge-104/bkb/README create mode 100644 challenge-104/bob-kleemann/README create mode 100644 challenge-104/bob-lied/README create mode 100644 challenge-104/brtastic/README create mode 100644 challenge-104/bruno-ramos/README create mode 100644 challenge-104/burkhard-nickels/README create mode 100644 challenge-104/bwva/README create mode 100644 challenge-104/cheok-yin-fung/README create mode 100644 challenge-104/cliveholloway/README create mode 100644 challenge-104/colin-crain/README create mode 100644 challenge-104/craig/README create mode 100644 challenge-104/creewick/README create mode 100644 challenge-104/cristian-heredia/README create mode 100644 challenge-104/daniel-mantovani/README create mode 100644 challenge-104/daniel-mita/README create mode 100644 challenge-104/darren-bottin/README create mode 100644 challenge-104/dave-cross/README create mode 100644 challenge-104/dave-jacoby/README create mode 100644 challenge-104/david-kayal/README create mode 100644 challenge-104/ddobbelaere/README create mode 100644 challenge-104/deadmarshal/README create mode 100644 challenge-104/denis-yurashku/README create mode 100644 challenge-104/donald-hunter/README create mode 100644 challenge-104/doug-schrag/README create mode 100644 challenge-104/dracos/README create mode 100644 challenge-104/duane-powell/README create mode 100644 challenge-104/duncan-c-white/README create mode 100644 challenge-104/e-choroba/README create mode 100644 challenge-104/eddy-hs/README create mode 100644 challenge-104/fabrizio-poggi/README create mode 100644 challenge-104/feng-chang/README create mode 100644 challenge-104/finanalyst/README create mode 100644 challenge-104/finley/README create mode 100644 challenge-104/fjwhittle/README create mode 100644 challenge-104/frankivo/README create mode 100644 challenge-104/fred-zinn/README create mode 100644 challenge-104/freddie-b/README create mode 100644 challenge-104/garrett-goebel/README create mode 100644 challenge-104/giuseppe-terlizzi/README create mode 100644 challenge-104/gugod/README create mode 100644 challenge-104/gugod/rust/.gitignore create mode 100644 challenge-104/gugod/rust/Makefile create mode 100644 challenge-104/guillermo-ramos/README create mode 100644 challenge-104/gustavo-chaves/README create mode 100644 challenge-104/hauke-d/README create mode 100644 challenge-104/henry-wong/README create mode 100644 challenge-104/hstejas/README create mode 100644 challenge-104/ianrifkin/README create mode 100644 challenge-104/izifresh/README create mode 100644 challenge-104/jacques-guinnebault/README create mode 100644 challenge-104/jaime/README create mode 100644 challenge-104/jaldhar-h-vyas/README create mode 100644 challenge-104/james-smith/README.md create mode 100644 challenge-104/jan-perl/README create mode 100644 challenge-104/jaredor/README create mode 100644 challenge-104/jason-messer/README create mode 100644 challenge-104/javier-luque/README create mode 100644 challenge-104/jcrosswh/README create mode 100644 challenge-104/jeff/README create mode 100644 challenge-104/jeongoon/.gitignore create mode 100644 challenge-104/jeongoon/README create mode 100644 challenge-104/jeremy-carman/README create mode 100644 challenge-104/jim-bacon/README create mode 100644 challenge-104/jitu-keshwani/README create mode 100644 challenge-104/jj-merelo/README create mode 100644 challenge-104/jluis/README create mode 100644 challenge-104/jo-37/README create mode 100644 challenge-104/jo-christian-oterhals/README create mode 100644 challenge-104/joe-tym/README create mode 100644 challenge-104/joelle-maslak/README create mode 100644 challenge-104/john-barrett/README create mode 100644 challenge-104/jokraft/README create mode 100644 challenge-104/juan-caballero/README create mode 100644 challenge-104/julien-fiegehenn/README create mode 100644 challenge-104/juliodcs/README create mode 100644 challenge-104/kai-burgdorf/README.md create mode 100644 challenge-104/kevin-colyer/README create mode 100644 challenge-104/khalid/README create mode 100644 challenge-104/kian-meng-ang/README create mode 100644 challenge-104/kiran-kumar/README create mode 100644 challenge-104/kivanc-yazan/.gitignore create mode 100644 challenge-104/kivanc-yazan/README create mode 100644 challenge-104/kordaff/README create mode 100644 challenge-104/lance-wicks/README create mode 100644 challenge-104/lars-balker/README create mode 100644 challenge-104/lars-thegler/README create mode 100644 challenge-104/laurent-rosenfeld/README create mode 100644 challenge-104/leoltron/README create mode 100644 challenge-104/lubos-kolouch/README create mode 100644 challenge-104/luca-ferrari/README create mode 100644 challenge-104/magnus-woldrich/README create mode 100644 challenge-104/manfredi/README create mode 100644 challenge-104/mano-chandar/README create mode 100644 challenge-104/mark-anderson/README create mode 100644 challenge-104/mark-senn/README create mode 100644 challenge-104/markjreed/README create mode 100644 challenge-104/markus-holzer/README create mode 100644 challenge-104/martin-barth/README create mode 100644 challenge-104/martin-mugeni/README create mode 100644 challenge-104/mathmauney/README create mode 100644 challenge-104/matt-latusek/README create mode 100644 challenge-104/matthew-persico/README create mode 100644 challenge-104/maxim-kolodyazhny/README create mode 100644 challenge-104/maxim-nechaev/README create mode 100644 challenge-104/michael-hamlin/README create mode 100644 challenge-104/michael-schaap/README create mode 100644 challenge-104/mihail-iosilevitch/README create mode 100644 challenge-104/mike-accardo/README create mode 100644 challenge-104/mimosinnet/README create mode 100644 challenge-104/mohammad-anwar/README create mode 100644 challenge-104/ndelucca/README create mode 100644 challenge-104/neil-bowers/README create mode 100644 challenge-104/nick-logan/README create mode 100644 challenge-104/nikhil-prasanna/README create mode 100644 challenge-104/noud/README create mode 100644 challenge-104/nunovieira220/README create mode 100644 challenge-104/ohmycloud/README create mode 100644 challenge-104/oleksii-tsvietnov/README create mode 100644 challenge-104/olli-antti/README create mode 100644 challenge-104/orestis-zekai/README create mode 100644 challenge-104/ozzy/README create mode 100644 challenge-104/p6steve/README create mode 100644 challenge-104/pablo-saavedra/README create mode 100644 challenge-104/paulo-custodio/README create mode 100644 challenge-104/pavel-jurca/README create mode 100644 challenge-104/pavel-starikov/README create mode 100644 challenge-104/pavel_kuptsov/README create mode 100644 challenge-104/perlboy1967/README create mode 100644 challenge-104/pete-houston/README create mode 100644 challenge-104/pete-sergeant/README create mode 100644 challenge-104/peter-meszaros/README create mode 100644 challenge-104/peter-scott/README create mode 100644 challenge-104/petr-roubicek/README create mode 100644 challenge-104/philippe-bruhat/README create mode 100644 challenge-104/phillip-harris/README create mode 100644 challenge-104/pjdurai/README create mode 100644 challenge-104/pkmnx/README create mode 100644 challenge-104/plis-acm/.gitignore create mode 100644 challenge-104/plis-acm/README create mode 100644 challenge-104/polettix/README create mode 100644 challenge-104/polettix/cpanfile create mode 100644 challenge-104/polettix/cpanfile.snapshot create mode 100644 challenge-104/polettix/perl/.gitignore create mode 100644 challenge-104/prajith-p/README create mode 100644 challenge-104/rage311/README create mode 100644 challenge-104/rakulius/README create mode 100644 challenge-104/randy-lauen/README create mode 100644 challenge-104/richard-park/README create mode 100644 challenge-104/rnuttall/README create mode 100644 challenge-104/rob-van-dam/README create mode 100644 challenge-104/rob4t/README create mode 100644 challenge-104/roger-bell-west/README create mode 100644 challenge-104/ruben-westerberg/README create mode 100644 challenge-104/ryan-thompson/README.md create mode 100644 challenge-104/saiftynet/README create mode 100644 challenge-104/samir-parikh/README create mode 100644 challenge-104/sangeet-kar/README create mode 100644 challenge-104/sean-meininger/README create mode 100644 challenge-104/sergiotarxz/README create mode 100644 challenge-104/sgreen/README.md create mode 100644 challenge-104/shahed-nooshmand/README create mode 100644 challenge-104/shardiwal/README create mode 100644 challenge-104/shaun-pearce/README create mode 100644 challenge-104/shawak/README.md create mode 100644 challenge-104/shawn-wagner/README create mode 100644 challenge-104/shawn-wagner/ocaml/dune create mode 100644 challenge-104/simon-miner/README create mode 100644 challenge-104/simon-proctor/README create mode 100644 challenge-104/simon-reinhardt/README create mode 100644 challenge-104/sol-demuth/README create mode 100644 challenge-104/southpawgeek/README create mode 100644 challenge-104/stephanie-stein/README create mode 100644 challenge-104/steve-rogerson/README create mode 100644 challenge-104/steven-lembark/README create mode 100644 challenge-104/steven-wilson/README create mode 100644 challenge-104/stuart-little/README create mode 100644 challenge-104/svetlana-nesterova/README create mode 100644 challenge-104/swaggboi/README create mode 100644 challenge-104/ted-leahy/README create mode 100644 challenge-104/testerR59/README create mode 100644 challenge-104/tiago-stock/README create mode 100644 challenge-104/tim-smith/README create mode 100644 challenge-104/tore-andersson/README create mode 100644 challenge-104/trenton-langer/README create mode 100644 challenge-104/tyler-limkemann/README create mode 100644 challenge-104/tyler-wardhaugh/README create mode 100644 challenge-104/tyler-wardhaugh/clojure/.gitignore create mode 100644 challenge-104/tyler-wardhaugh/clojure/LICENSE create mode 100644 challenge-104/tyler-wardhaugh/clojure/README.md create mode 100644 challenge-104/tyler-wardhaugh/clojure/deps.edn create mode 100644 challenge-104/tyler-wardhaugh/clojure/pom.xml create mode 100644 challenge-104/tyler-wardhaugh/clojure/resources/.keep create mode 100644 challenge-104/tyler-wardhaugh/lua/README.md create mode 100644 challenge-104/tyler-wardhaugh/python/.gitignore create mode 100644 challenge-104/tyler-wardhaugh/python/Makefile create mode 100644 challenge-104/tyler-wardhaugh/python/README.md create mode 100644 challenge-104/ulrich-rieke/README create mode 100644 challenge-104/user-person/README create mode 100644 challenge-104/uzluisf/README create mode 100644 challenge-104/veesh-goldman/README create mode 100644 challenge-104/vinod-k/README create mode 100644 challenge-104/vinod-pal/README create mode 100644 challenge-104/vyacheslav-volgarev/README create mode 100644 challenge-104/walt-mankowski/README.md create mode 100644 challenge-104/walt-mankowski/c/.gitignore create mode 100644 challenge-104/walt-mankowski/cpp/.gitignore create mode 100644 challenge-104/walt-mankowski/python/.python-version create mode 100644 challenge-104/wambash/README create mode 100644 challenge-104/wanderdoc/README create mode 100644 challenge-104/will-west/README create mode 100644 challenge-104/william-gilmore/README create mode 100644 challenge-104/wlmb/README create mode 100644 challenge-104/x1mandi/README create mode 100644 challenge-104/xkr47/README create mode 100644 challenge-104/xliff/README create mode 100644 challenge-104/yary-h/README create mode 100644 challenge-104/yet-ebreo/README create mode 100644 challenge-104/yozen-hernandez/README create mode 100644 challenge-104/ziameraj16/README.md create mode 100644 challenge-104/ziameraj16/kotlin/META-INF/main.kotlin_module diff --git a/challenge-104/3ter/README b/challenge-104/3ter/README new file mode 100644 index 0000000000..8c594431f3 --- /dev/null +++ b/challenge-104/3ter/README @@ -0,0 +1 @@ +Solutions by 3ter. diff --git a/challenge-104/LoneWolfiNTj/README b/challenge-104/LoneWolfiNTj/README new file mode 100755 index 0000000000..bf42ad2482 --- /dev/null +++ b/challenge-104/LoneWolfiNTj/README @@ -0,0 +1 @@ +Solution by Robbie Hatley (github user "LoneWolfiNTj"). \ No newline at end of file diff --git a/challenge-104/aaron-rowe/README b/challenge-104/aaron-rowe/README new file mode 100644 index 0000000000..e14e0782fb --- /dev/null +++ b/challenge-104/aaron-rowe/README @@ -0,0 +1 @@ +Solutions by Aaron Rowe. diff --git a/challenge-104/aaron-sherman/README b/challenge-104/aaron-sherman/README new file mode 100644 index 0000000000..14ec31f570 --- /dev/null +++ b/challenge-104/aaron-sherman/README @@ -0,0 +1 @@ +Solutions by Aaron Sherman. diff --git a/challenge-104/aaronreidsmith/README b/challenge-104/aaronreidsmith/README new file mode 100644 index 0000000000..2fcfe1fdcc --- /dev/null +++ b/challenge-104/aaronreidsmith/README @@ -0,0 +1 @@ +Solution by Aaron Smith diff --git a/challenge-104/abigail/README.md b/challenge-104/abigail/README.md new file mode 100644 index 0000000000..f8b761268c --- /dev/null +++ b/challenge-104/abigail/README.md @@ -0,0 +1,137 @@ +# Solution by Abigail +## [Chinese Zodiac](https://perlweeklychallenge.org/blog/perl-weekly-challenge-103/#TASK1) + +You are given a year `$year`. + +Write a script to determine the *Chinese Zodiac* for the given year +$year. Please check out [wikipage](https://en.wikipedia.org/wiki/Chinese_zodiac) +for more information about it. + +The animal cycle: +* Rat +* Ox +* Tiger +* Rabbit +* Dragon +* Snake +* Horse +* Goat +* Monkey +* Rooster +* Dog +* Pig + +The element cycle: +* Wood +* Fire +* Earth +* Metal +* Water + +### Examples +#### Example 1 +~~~~ +Input: 2017 +Output: Fire Rooster +~~~~ + +#### Example 2 +~~~~ +Input: 1938 +Output: Earth Tiger +~~~~ + +### Notes +We will actually output a three part string; beside the animal and element +cycles, we also output the yin/yang cycle. + +We will be reading years from standard input, writing results to standard +output. + +### Solutions +* [AWK](awk/ch-1.awk) +* [Bash](bash/ch-1.sh) +* [Befunge-93](befunge-93/ch-1.bf93) +* [C](c/ch-1.c) +* [Lua](lua/ch-1.lua) +* [Node.js](node/ch-1.js) +* [Perl](perl/ch-1.pl) +* [Python](python/ch-1.py) +* [Ruby](ruby/ch-1.rb) + +### Blog +[Perl Weekly Challenge 103: Chinese Zodiac](https://wp.me/pcxd30-uS) + + +## [What's playing?](https://perlweeklychallenge.org/blog/perl-weekly-challenge-103/#TASK2) +Working from home, you decided that on occasion you wanted some +background noise while working. You threw together a network streamer +to continuously loop through the files and launched it in a tmux +(or screen) session, giving it a directory tree of files to play. +During the day, you connected an audio player to the stream, listening +through the workday, closing it when done. + +For weeks you connect to the stream daily, slowly noticing a gradual +drift of the media. After several weeks, you take vacation. When +you return, you are pleasantly surprised to find the streamer still +running. Before connecting, however, if you consider the puzzle of +determining which track is playing. + +After looking at a few modules to read info regarding the media, a +quick bit of coding gave you a file list. The file list is in a +simple CSV format, each line containing two fields: the first the +number of milliseconds in length, the latter the media's title (this +example is of several episodes available from the MercuryTheatre.info): + +~~~~ +1709363,"Les Miserables Episode 1: The Bishop (broadcast date: 1937-07-23)" +1723781,"Les Miserables Episode 2: Javert (broadcast date: 1937-07-30)" +1723781,"Les Miserables Episode 3: The Trial (broadcast date: 1937-08-06)" +1678356,"Les Miserables Episode 4: Cosette (broadcast date: 1937-08-13)" +1646043,"Les Miserables Episode 5: The Grave (broadcast date: 1937-08-20)" +1714640,"Les Miserables Episode 6: The Barricade (broadcast date: 1937-08-27)" +1714640,"Les Miserables Episode 7: Conclusion (broadcast date: 1937-09-03)" +~~~~ + +For this script, you can assume to be provided the following information: +* the value of `$^T` (`$BASETIME`) of the streamer script, +* the value of `time()`, and +* a CSV file containing the media to play consisting of the length in + milliseconds and an identifier for the media (title, filename, or other). + +Write a program to output which file is currently playing. For +purposes of this script, you may assume gapless playback, and format +the output as you see fit. + +Optional: Also display the current position in the media as a time-like value. + +### Example +~~~~ +Input: 3 command line parameters: start time, current time, file name + + # Streamer start time: Tue Nov 24 12:22:03 2020 + 1606134123 + + # Current time: Mon Mar 1 09:34:36 2021 + 1614591276 + + # filelist.csv + +Output: + + "Les Miserables Episode 1: The Bishop (broadcast date: 1937-07-23)" + 00:17:33 +~~~~ + +### Solutions +* [GNU 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 +[Perl Weekly Challenge 103: What's playing?](https://wp.me/pcxd30-v6) diff --git a/challenge-104/adam-russell/README b/challenge-104/adam-russell/README new file mode 100644 index 0000000000..1d2e2957c5 --- /dev/null +++ b/challenge-104/adam-russell/README @@ -0,0 +1 @@ +Solution by Adam Russell diff --git a/challenge-104/ailbhe-tweedie/README b/challenge-104/ailbhe-tweedie/README new file mode 100644 index 0000000000..36d4034b70 --- /dev/null +++ b/challenge-104/ailbhe-tweedie/README @@ -0,0 +1 @@ +Solution by Ailbhe Tweedie diff --git a/challenge-104/alex-daniel/README b/challenge-104/alex-daniel/README new file mode 100644 index 0000000000..65550789bd --- /dev/null +++ b/challenge-104/alex-daniel/README @@ -0,0 +1 @@ +Solution by Alex Daniel. diff --git a/challenge-104/alexander-karelas/README b/challenge-104/alexander-karelas/README new file mode 100644 index 0000000000..3de9fce8d9 --- /dev/null +++ b/challenge-104/alexander-karelas/README @@ -0,0 +1 @@ +Solution by Alexander Karelas diff --git a/challenge-104/alexander-pankoff/README b/challenge-104/alexander-pankoff/README new file mode 100644 index 0000000000..41f67807ac --- /dev/null +++ b/challenge-104/alexander-pankoff/README @@ -0,0 +1 @@ +Solution by Alexander Pankoff diff --git a/challenge-104/alicia-bielsa/README b/challenge-104/alicia-bielsa/README new file mode 100644 index 0000000000..c5187874c3 --- /dev/null +++ b/challenge-104/alicia-bielsa/README @@ -0,0 +1 @@ +Solution by Alicia Beilsa. diff --git a/challenge-104/andinus/README b/challenge-104/andinus/README new file mode 100644 index 0000000000..3113a6fd55 --- /dev/null +++ b/challenge-104/andinus/README @@ -0,0 +1,122 @@ + ━━━━━━━━━━━━━━━ + CHALLENGE 100 + + Andinus + ━━━━━━━━━━━━━━━ + + + 2021-02-20 + + +Table of Contents +───────────────── + +Task 1 - Fun Time +.. Raku + + + + + +Task 1 - Fun Time +═════════════════ + + You are given a time (12 hour / 24 hour). + + Write a script to convert the given time from 12 hour format to 24 + hour format and vice versa. + + Ideally we expect a one-liner. + + +Raku +──── + + • Program: + + One should use `DateTime' module to solve this but that is not fun so + we solve it the wrong way! + + The program will accept any string as `$time'. We do the format check + later. + + ┌──── + │ #| convert 12-hour formatted time to 24-hour format and vice-versa + │ unit sub MAIN ( + │ Str $time, #= time (format: 05:15pm or "05:15 pm" or 17:00) + │ ); + └──── + + The grammar `Time' will parse `$time' to give us meaningful + information required to do the task. + + ⁃ `hour' & `minute' match any digit ranging from 00 to 99 + ⁃ `meridiem' matches either /am/ or /pm/ + + ⁃ Note: This grammar will consider "99:99" as a valid timestamp. + + ┌──── + │ grammar Time { + │ token TOP { ':' ' '? ? } + │ token hour { \d ** 1..2 } + │ token minute { \d ** 1..2 } + │ token meridiem { ['am'|'pm'] } + │ } + └──── + + We parse `$time' with `Time' grammar. If `meridiem' is set then it + must be 12-hour format time, otherwise it'll be 24-hour format time. + + ┌──── + │ # Match for time format. + │ if Time.parse($time) -> $m { + │ given $m { + │ ... + │ } + │ } else { + │ note "Wrong format!"; + │ exit 1; + │ } + └──── + + For "am" we just check if the hour is 12, if so then we print it as + "00" otherwise just print the hour. + + ┌──── + │ when 'am' { + │ printf "%02d:%02d\n", + │ $m == 12 ?? "00" !! $m, + │ $m; + │ } + └──── + + If the hour is < 12 then we print `hour + 12' otherwise just print the + hour. + + ┌──── + │ when 'pm' { + │ printf "%02d:%02d\n", + │ $m < 12 ?? $m + 12 !! $m, + │ $m; + │ } + └──── + + If the hour is 0 then print 12 otherwise check if it's > 12, if so + then print `hour - 12' otherwise just print the hour. + + 23 -> 11 + greater than 12 + 00 -> 12 + equal to 0 + 12 -> 12 + neither equal to 0, nor greater than 12 + + If the hour is < 12 then print "am" otherwise print "pm". + + ┌──── + │ default { + │ printf "%02d:%02d%s\n", + │ $m == 0 ?? "12" !! $m > 12 ?? $m - 12 !! $m, + │ $m, $m < 12 ?? "am" !! "pm"; + │ } + └──── diff --git a/challenge-104/andinus/README.org b/challenge-104/andinus/README.org new file mode 100644 index 0000000000..9fe366c58c --- /dev/null +++ b/challenge-104/andinus/README.org @@ -0,0 +1,102 @@ +#+title: Challenge 100 +#+date: 2021-02-20 +#+options: toc:2 +#+html_link_up: ../index.html +#+export_file_name: index +#+setupfile: ~/.emacs.d/org-templates/level-2.org + +* Task 1 - Fun Time + +You are given a time (12 hour / 24 hour). + +Write a script to convert the given time from 12 hour format to 24 hour +format and vice versa. + +Ideally we expect a one-liner. + +** Raku + +- Program: [[file:raku/ch-1.raku]] + +One should use ~DateTime~ module to solve this but that is not fun so we +solve it the wrong way! + +The program will accept any string as ~$time~. We do the format check later. + +#+begin_src raku +#| convert 12-hour formatted time to 24-hour format and vice-versa +unit sub MAIN ( + Str $time, #= time (format: 05:15pm or "05:15 pm" or 17:00) +); +#+end_src + +The grammar ~Time~ will parse ~$time~ to give us meaningful information +required to do the task. + ++ ~hour~ & ~minute~ match any digit ranging from 00 to 99 ++ ~meridiem~ matches either /am/ or /pm/ + ++ *Note*: This grammar will consider "99:99" as a valid timestamp. + +#+begin_src raku +grammar Time { + token TOP { ':' ' '? ? } + token hour { \d ** 1..2 } + token minute { \d ** 1..2 } + token meridiem { ['am'|'pm'] } +} +#+end_src + +We parse ~$time~ with ~Time~ grammar. If ~meridiem~ is set then it must be +12-hour format time, otherwise it'll be 24-hour format time. + +#+begin_src raku +# Match for time format. +if Time.parse($time) -> $m { + given $m { + ... + } +} else { + note "Wrong format!"; + exit 1; +} +#+end_src + +For "am" we just check if the hour is 12, if so then we print it as "00" +otherwise just print the hour. + +#+begin_src raku +when 'am' { + printf "%02d:%02d\n", + $m == 12 ?? "00" !! $m, + $m; +} +#+end_src + +If the hour is < 12 then we print =hour + 12= otherwise just print the +hour. + +#+begin_src raku +when 'pm' { + printf "%02d:%02d\n", + $m < 12 ?? $m + 12 !! $m, + $m; +} +#+end_src + +If the hour is 0 then print 12 otherwise check if it's > 12, if so then +print =hour - 12= otherwise just print the hour. + ++ 23 -> 11 :: greater than 12 ++ 00 -> 12 :: equal to 0 ++ 12 -> 12 :: neither equal to 0, nor greater than 12 + +If the hour is < 12 then print "am" otherwise print "pm". + +#+begin_src raku +default { + printf "%02d:%02d%s\n", + $m == 0 ?? "12" !! $m > 12 ?? $m - 12 !! $m, + $m, $m < 12 ?? "am" !! "pm"; +} +#+end_src diff --git a/challenge-104/andrezgz/README b/challenge-104/andrezgz/README new file mode 100644 index 0000000000..f4fd0da88e --- /dev/null +++ b/challenge-104/andrezgz/README @@ -0,0 +1 @@ +Solution by Andrezgz diff --git a/challenge-104/anton-fedotov/README b/challenge-104/anton-fedotov/README new file mode 100644 index 0000000000..f7c4f6deed --- /dev/null +++ b/challenge-104/anton-fedotov/README @@ -0,0 +1 @@ +Solutions by Anton Fedotov. diff --git a/challenge-104/antonio-gamiz/README b/challenge-104/antonio-gamiz/README new file mode 100644 index 0000000000..1f5ed5871a --- /dev/null +++ b/challenge-104/antonio-gamiz/README @@ -0,0 +1 @@ +Solution by Antonio Gamiz diff --git a/challenge-104/arne-sommer/README b/challenge-104/arne-sommer/README new file mode 100644 index 0000000000..b5d88e4df4 --- /dev/null +++ b/challenge-104/arne-sommer/README @@ -0,0 +1 @@ +Solution by Arne Sommer. diff --git a/challenge-104/arpad-toth/README b/challenge-104/arpad-toth/README new file mode 100644 index 0000000000..6661dd82c1 --- /dev/null +++ b/challenge-104/arpad-toth/README @@ -0,0 +1 @@ +Solution by Arpad Toth diff --git a/challenge-104/ash/README b/challenge-104/ash/README new file mode 100644 index 0000000000..318b1bfb41 --- /dev/null +++ b/challenge-104/ash/README @@ -0,0 +1 @@ +Solutions by Andrew Shitov diff --git a/challenge-104/athanasius/README b/challenge-104/athanasius/README new file mode 100644 index 0000000000..cc357fda4a --- /dev/null +++ b/challenge-104/athanasius/README @@ -0,0 +1 @@ +Solution by Athanasius diff --git a/challenge-104/aubrey-quarcoo/README b/challenge-104/aubrey-quarcoo/README new file mode 100644 index 0000000000..8e63a2c1f5 --- /dev/null +++ b/challenge-104/aubrey-quarcoo/README @@ -0,0 +1 @@ +Solution by Aubrey Quarcoo diff --git a/challenge-104/aviral-goel/README b/challenge-104/aviral-goel/README new file mode 100644 index 0000000000..e64ee14512 --- /dev/null +++ b/challenge-104/aviral-goel/README @@ -0,0 +1 @@ +Solutions by Aviral Goel. diff --git a/challenge-104/ben-davies/README.md b/challenge-104/ben-davies/README.md new file mode 100644 index 0000000000..77158344c9 --- /dev/null +++ b/challenge-104/ben-davies/README.md @@ -0,0 +1 @@ +Solution by Ben Davies diff --git a/challenge-104/bill-palmer/README b/challenge-104/bill-palmer/README new file mode 100644 index 0000000000..08ec849a41 --- /dev/null +++ b/challenge-104/bill-palmer/README @@ -0,0 +1 @@ +Solution by Bill Palmer. diff --git a/challenge-104/bkb/README b/challenge-104/bkb/README new file mode 100644 index 0000000000..4721993bb3 --- /dev/null +++ b/challenge-104/bkb/README @@ -0,0 +1 @@ +Solution by Ben Bullock. diff --git a/challenge-104/bob-kleemann/README b/challenge-104/bob-kleemann/README new file mode 100644 index 0000000000..78680e4035 --- /dev/null +++ b/challenge-104/bob-kleemann/README @@ -0,0 +1 @@ +Solution by Bob Kleemann diff --git a/challenge-104/bob-lied/README b/challenge-104/bob-lied/README new file mode 100644 index 0000000000..8417e3a7f7 --- /dev/null +++ b/challenge-104/bob-lied/README @@ -0,0 +1,3 @@ +Solutions to weekly challenge 103 by Bob Lied. + +https://perlweeklychallenge.org/blog/perl-weekly-challenge-103/ diff --git a/challenge-104/brtastic/README b/challenge-104/brtastic/README new file mode 100644 index 0000000000..0fbe79fd6f --- /dev/null +++ b/challenge-104/brtastic/README @@ -0,0 +1 @@ +Solutions by Bartosz Jarzyna. diff --git a/challenge-104/bruno-ramos/README b/challenge-104/bruno-ramos/README new file mode 100644 index 0000000000..9d631dad8f --- /dev/null +++ b/challenge-104/bruno-ramos/README @@ -0,0 +1 @@ +Solutions by Bruno Ramos. diff --git a/challenge-104/burkhard-nickels/README b/challenge-104/burkhard-nickels/README new file mode 100644 index 0000000000..f5e16bb98b --- /dev/null +++ b/challenge-104/burkhard-nickels/README @@ -0,0 +1 @@ +Solutions by Burkhard Nickels. diff --git a/challenge-104/bwva/README b/challenge-104/bwva/README new file mode 100644 index 0000000000..ee6a7d7dc1 --- /dev/null +++ b/challenge-104/bwva/README @@ -0,0 +1 @@ +Solution(s) by bwva (Bruce Van Allen) diff --git a/challenge-104/cheok-yin-fung/README b/challenge-104/cheok-yin-fung/README new file mode 100644 index 0000000000..4413b13ada --- /dev/null +++ b/challenge-104/cheok-yin-fung/README @@ -0,0 +1 @@ +Solutions by Cheok-Yin Fung. diff --git a/challenge-104/cliveholloway/README b/challenge-104/cliveholloway/README new file mode 100644 index 0000000000..b69201296e --- /dev/null +++ b/challenge-104/cliveholloway/README @@ -0,0 +1 @@ +Solution by Clive Holloway diff --git a/challenge-104/colin-crain/README b/challenge-104/colin-crain/README new file mode 100644 index 0000000000..2a5d87e97d --- /dev/null +++ b/challenge-104/colin-crain/README @@ -0,0 +1 @@ +Solutions by Colin Crain. diff --git a/challenge-104/craig/README b/challenge-104/craig/README new file mode 100644 index 0000000000..18088481eb --- /dev/null +++ b/challenge-104/craig/README @@ -0,0 +1 @@ +Solutions by Craig. diff --git a/challenge-104/creewick/README b/challenge-104/creewick/README new file mode 100644 index 0000000000..c490e4fb80 --- /dev/null +++ b/challenge-104/creewick/README @@ -0,0 +1 @@ +Solutions by Creewick. diff --git a/challenge-104/cristian-heredia/README b/challenge-104/cristian-heredia/README new file mode 100644 index 0000000000..c53da8a54c --- /dev/null +++ b/challenge-104/cristian-heredia/README @@ -0,0 +1 @@ +Solutions by Cristina Heredia. diff --git a/challenge-104/daniel-mantovani/README b/challenge-104/daniel-mantovani/README new file mode 100644 index 0000000000..ed538216f2 --- /dev/null +++ b/challenge-104/daniel-mantovani/README @@ -0,0 +1 @@ +Solution by Daniel Mantovani diff --git a/challenge-104/daniel-mita/README b/challenge-104/daniel-mita/README new file mode 100644 index 0000000000..37339f491f --- /dev/null +++ b/challenge-104/daniel-mita/README @@ -0,0 +1 @@ +Solution by Daniel Mita diff --git a/challenge-104/darren-bottin/README b/challenge-104/darren-bottin/README new file mode 100644 index 0000000000..6c792afe8e --- /dev/null +++ b/challenge-104/darren-bottin/README @@ -0,0 +1 @@ +Solutions by Darren Bottin. diff --git a/challenge-104/dave-cross/README b/challenge-104/dave-cross/README new file mode 100644 index 0000000000..04b1b0623b --- /dev/null +++ b/challenge-104/dave-cross/README @@ -0,0 +1 @@ +Solution by Dave Cross diff --git a/challenge-104/dave-jacoby/README b/challenge-104/dave-jacoby/README new file mode 100644 index 0000000000..7c06689f16 --- /dev/null +++ b/challenge-104/dave-jacoby/README @@ -0,0 +1 @@ +Solution by Dave Jacoby diff --git a/challenge-104/david-kayal/README b/challenge-104/david-kayal/README new file mode 100644 index 0000000000..66f8615260 --- /dev/null +++ b/challenge-104/david-kayal/README @@ -0,0 +1 @@ +Solution by David Kayal diff --git a/challenge-104/ddobbelaere/README b/challenge-104/ddobbelaere/README new file mode 100644 index 0000000000..36f8cdcd67 --- /dev/null +++ b/challenge-104/ddobbelaere/README @@ -0,0 +1 @@ +Solution by Dieter Dobbelaere diff --git a/challenge-104/deadmarshal/README b/challenge-104/deadmarshal/README new file mode 100644 index 0000000000..243097dede --- /dev/null +++ b/challenge-104/deadmarshal/README @@ -0,0 +1 @@ +Solution by Ali Moradi \ No newline at end of file diff --git a/challenge-104/denis-yurashku/README b/challenge-104/denis-yurashku/README new file mode 100644 index 0000000000..2fea994000 --- /dev/null +++ b/challenge-104/denis-yurashku/README @@ -0,0 +1 @@ +Solutions by Denis Yurashku. diff --git a/challenge-104/donald-hunter/README b/challenge-104/donald-hunter/README new file mode 100644 index 0000000000..2eef878f17 --- /dev/null +++ b/challenge-104/donald-hunter/README @@ -0,0 +1 @@ +Solutions by Donald Hunter. diff --git a/challenge-104/doug-schrag/README b/challenge-104/doug-schrag/README new file mode 100644 index 0000000000..bf8a10ffb4 --- /dev/null +++ b/challenge-104/doug-schrag/README @@ -0,0 +1 @@ +Solution by Doug Schrag diff --git a/challenge-104/dracos/README b/challenge-104/dracos/README new file mode 100644 index 0000000000..a9a6517a03 --- /dev/null +++ b/challenge-104/dracos/README @@ -0,0 +1 @@ +Solutions by Matthew Somerville. diff --git a/challenge-104/duane-powell/README b/challenge-104/duane-powell/README new file mode 100644 index 0000000000..3445422743 --- /dev/null +++ b/challenge-104/duane-powell/README @@ -0,0 +1 @@ +Solutions by Duane Powell. diff --git a/challenge-104/duncan-c-white/README b/challenge-104/duncan-c-white/README new file mode 100644 index 0000000000..bd7e75deb8 --- /dev/null +++ b/challenge-104/duncan-c-white/README @@ -0,0 +1,96 @@ +Task 1: "Chinese Zodiac + +You are given a year $year. + +Write a script to determine the Chinese Zodiac for the given year +$year. Please check out https://en.wikipedia.org/wiki/Chinese_zodiac +for more information about it. + +The animal cycle: Rat, Ox, Tiger, Rabbit, Dragon, Snake, Horse, Goat, +Monkey, Rooster, Dog, Pig. + +The element cycle: Wood, Fire, Earth, Metal, Water. + +Example 1: + + Input: 2017 + Output: Fire Rooster + +Example 2: + + Input: 1938 + Output: Earth Tiger +" + +My notes: ok, so seems to be a 12 year cycle of animal names, intertwined +with a 10 year cycle of 5 elements, two successive years having the same +element each time. + + +Task 2: "What's playing? +Submitted by: Albert Croft + +Working from home, you decided that on occasion you wanted some background +noise while working. You threw together a network streamer to continuously +loop through the files and launched it in a tmux (or screen) session, +giving it a directory tree of files to play. During the day, you connected +an audio player to the stream, listening through the workday, closing +it when done. + +For weeks you connect to the stream daily, slowly noticing a gradual drift +of the media. After several weeks, you take vacation. When you return, +you are pleasantly surprised to find the streamer still running. Before +connecting, however, if you consider the puzzle of determining which +track is playing. + +After looking at a few modules to read info regarding the media, a +quick bit of coding gave you a file list. The file list is in a simple +CSV format, each line containing two fields: the first the number of +milliseconds in length, the latter the media's title (this example is +of several episodes available from the MercuryTheatre.info): + + 1709363,"Les Miserables Episode 1: The Bishop (broadcast date: 1937-07-23)" + 1723781,"Les Miserables Episode 2: Javert (broadcast date: 1937-07-30)" + 1723781,"Les Miserables Episode 3: The Trial (broadcast date: 1937-08-06)" + 1678356,"Les Miserables Episode 4: Cosette (broadcast date: 1937-08-13)" + 1646043,"Les Miserables Episode 5: The Grave (broadcast date: 1937-08-20)" + 1714640,"Les Miserables Episode 6: The Barricade (broadcast date: 1937-08-27)" + 1714640,"Les Miserables Episode 7: Conclusion (broadcast date: 1937-09-03)" + +For this script, you can assume to be provided the following information: + + * the value of $^T ($BASETIME) of the streamer script, + * the value of time(), and + * a CSV file containing the media to play consisting of the length + in milliseconds and an identifier for the media (title, filename, + or other). + +Write a program to output which file is currently playing. For purposes +of this script, you may assume gapless playback, and format the output +as you see fit. + +Optional: Also display the current position in the media as a time-like value. + +Example: +UPDATED: Input parameters as reported by many members [2021-03-08 16:20 UK TIME]. + +Input: 3 command line parameters: start time, current time, file name + + # starttime + 1606134123 + + # currenttime + 1614591276 + + # filelist.csv + +Output: + + "Les Miserables Episode 1: The Bishop (broadcast date: 1937-07-23)" + 00:10:24 +" + +My notes: ok. So basically compute currduration=1000*(currenttime-starttime) +(in milliseconds) and then remove any number of complete song-cycles from +that, and then work out which song should be playing. Note that song +lengths in the CSV file are in milliseconds, and every millisecond counts. diff --git a/challenge-104/e-choroba/README b/challenge-104/e-choroba/README new file mode 100644 index 0000000000..efff637bcb --- /dev/null +++ b/challenge-104/e-choroba/README @@ -0,0 +1 @@ +Solutions by E. Choroba. diff --git a/challenge-104/eddy-hs/README b/challenge-104/eddy-hs/README new file mode 100644 index 0000000000..0ed51d222d --- /dev/null +++ b/challenge-104/eddy-hs/README @@ -0,0 +1 @@ +Solution by Eddy HS diff --git a/challenge-104/fabrizio-poggi/README b/challenge-104/fabrizio-poggi/README new file mode 100644 index 0000000000..3c17b29182 --- /dev/null +++ b/challenge-104/fabrizio-poggi/README @@ -0,0 +1 @@ +Solutions by Fabrizio Poggi. diff --git a/challenge-104/feng-chang/README b/challenge-104/feng-chang/README new file mode 100644 index 0000000000..74e56de3ed --- /dev/null +++ b/challenge-104/feng-chang/README @@ -0,0 +1 @@ +Solutions by Feng Chang. diff --git a/challenge-104/finanalyst/README b/challenge-104/finanalyst/README new file mode 100644 index 0000000000..15f7652e32 --- /dev/null +++ b/challenge-104/finanalyst/README @@ -0,0 +1 @@ +Solution by Richard Hainsworth, aka finanalyst diff --git a/challenge-104/finley/README b/challenge-104/finley/README new file mode 100644 index 0000000000..f08a121076 --- /dev/null +++ b/challenge-104/finley/README @@ -0,0 +1 @@ +Solution by Finley diff --git a/challenge-104/fjwhittle/README b/challenge-104/fjwhittle/README new file mode 100644 index 0000000000..7dcc95e189 --- /dev/null +++ b/challenge-104/fjwhittle/README @@ -0,0 +1 @@ +Solution by Francis Whittle diff --git a/challenge-104/frankivo/README b/challenge-104/frankivo/README new file mode 100644 index 0000000000..681b15b36c --- /dev/null +++ b/challenge-104/frankivo/README @@ -0,0 +1 @@ +Solution by Frank Oosterhuis. diff --git a/challenge-104/fred-zinn/README b/challenge-104/fred-zinn/README new file mode 100644 index 0000000000..17bac4f094 --- /dev/null +++ b/challenge-104/fred-zinn/README @@ -0,0 +1 @@ +Solution by Fred Zinn diff --git a/challenge-104/freddie-b/README b/challenge-104/freddie-b/README new file mode 100644 index 0000000000..823d7474b5 --- /dev/null +++ b/challenge-104/freddie-b/README @@ -0,0 +1 @@ +Solution by Freddie B diff --git a/challenge-104/garrett-goebel/README b/challenge-104/garrett-goebel/README new file mode 100644 index 0000000000..a8aa246dbb --- /dev/null +++ b/challenge-104/garrett-goebel/README @@ -0,0 +1 @@ +Solution by Garrett Goebel diff --git a/challenge-104/giuseppe-terlizzi/README b/challenge-104/giuseppe-terlizzi/README new file mode 100644 index 0000000000..0bff2a945c --- /dev/null +++ b/challenge-104/giuseppe-terlizzi/README @@ -0,0 +1 @@ +Solutions by Giuseppe Di Terlizzi. diff --git a/challenge-104/gugod/README b/challenge-104/gugod/README new file mode 100644 index 0000000000..509fd4c50c --- /dev/null +++ b/challenge-104/gugod/README @@ -0,0 +1 @@ +Solutions by Kang-min Liu. diff --git a/challenge-104/gugod/rust/.gitignore b/challenge-104/gugod/rust/.gitignore new file mode 100644 index 0000000000..ac77297bfe --- /dev/null +++ b/challenge-104/gugod/rust/.gitignore @@ -0,0 +1,2 @@ +ch-1 +ch-2 diff --git a/challenge-104/gugod/rust/Makefile b/challenge-104/gugod/rust/Makefile new file mode 100644 index 0000000000..efa7c49e4e --- /dev/null +++ b/challenge-104/gugod/rust/Makefile @@ -0,0 +1,10 @@ +all: ch-1 ch-2 + +clean: + rm ch-1 ch-2 + +ch-1: ch-1.rs + rustc $< + +ch-2: ch-2.rs + rustc $< diff --git a/challenge-104/guillermo-ramos/README b/challenge-104/guillermo-ramos/README new file mode 100644 index 0000000000..a39eb01bff --- /dev/null +++ b/challenge-104/guillermo-ramos/README @@ -0,0 +1 @@ +Solution by Guillermo Ramos. diff --git a/challenge-104/gustavo-chaves/README b/challenge-104/gustavo-chaves/README new file mode 100644 index 0000000000..a66bbbf8a3 --- /dev/null +++ b/challenge-104/gustavo-chaves/README @@ -0,0 +1 @@ +Solution by Gustavo Chaves diff --git a/challenge-104/hauke-d/README b/challenge-104/hauke-d/README new file mode 100644 index 0000000000..e201aa0abc --- /dev/null +++ b/challenge-104/hauke-d/README @@ -0,0 +1 @@ +Solutions by Hauke Dämpfling. diff --git a/challenge-104/henry-wong/README b/challenge-104/henry-wong/README new file mode 100644 index 0000000000..3d63a6f0be --- /dev/null +++ b/challenge-104/henry-wong/README @@ -0,0 +1 @@ +Solution by Henry Wong diff --git a/challenge-104/hstejas/README b/challenge-104/hstejas/README new file mode 100644 index 0000000000..969c5c0569 --- /dev/null +++ b/challenge-104/hstejas/README @@ -0,0 +1 @@ +Solution by Tejas diff --git a/challenge-104/ianrifkin/README b/challenge-104/ianrifkin/README new file mode 100644 index 0000000000..2d26297fb9 --- /dev/null +++ b/challenge-104/ianrifkin/README @@ -0,0 +1 @@ +Solution by Ian Rifkin. \ No newline at end of file diff --git a/challenge-104/izifresh/README b/challenge-104/izifresh/README new file mode 100644 index 0000000000..aedce7c408 --- /dev/null +++ b/challenge-104/izifresh/README @@ -0,0 +1 @@ +Solution by izifresh \ No newline at end of file diff --git a/challenge-104/jacques-guinnebault/README b/challenge-104/jacques-guinnebault/README new file mode 100644 index 0000000000..9d3e7c037f --- /dev/null +++ b/challenge-104/jacques-guinnebault/README @@ -0,0 +1 @@ +Solution by Jacques Guinnebault. diff --git a/challenge-104/jaime/README b/challenge-104/jaime/README new file mode 100644 index 0000000000..007cb58459 --- /dev/null +++ b/challenge-104/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-104/jaldhar-h-vyas/README b/challenge-104/jaldhar-h-vyas/README new file mode 100644 index 0000000000..7dce927eca --- /dev/null +++ b/challenge-104/jaldhar-h-vyas/README @@ -0,0 +1 @@ +Solution by Jaldhar H. Vyas diff --git a/challenge-104/james-smith/README.md b/challenge-104/james-smith/README.md new file mode 100644 index 0000000000..2a23e4ef37 --- /dev/null +++ b/challenge-104/james-smith/README.md @@ -0,0 +1,2 @@ +Solutions by James Smith. + diff --git a/challenge-104/jan-perl/README b/challenge-104/jan-perl/README new file mode 100644 index 0000000000..70e335d7d7 --- /dev/null +++ b/challenge-104/jan-perl/README @@ -0,0 +1 @@ +Solution by Jan Hoogenraad diff --git a/challenge-104/jaredor/README b/challenge-104/jaredor/README new file mode 100644 index 0000000000..398fcc9bae --- /dev/null +++ b/challenge-104/jaredor/README @@ -0,0 +1 @@ +Solution by Jared Martin diff --git a/challenge-104/jason-messer/README b/challenge-104/jason-messer/README new file mode 100644 index 0000000000..db0556d981 --- /dev/null +++ b/challenge-104/jason-messer/README @@ -0,0 +1 @@ +Raku Solutions by Jason Messer diff --git a/challenge-104/javier-luque/README b/challenge-104/javier-luque/README new file mode 100644 index 0000000000..887e7fc81a --- /dev/null +++ b/challenge-104/javier-luque/README @@ -0,0 +1 @@ +Solutions by Javier Luque. diff --git a/challenge-104/jcrosswh/README b/challenge-104/jcrosswh/README new file mode 100644 index 0000000000..144afd1a18 --- /dev/null +++ b/challenge-104/jcrosswh/README @@ -0,0 +1 @@ +Solution by Joel Crosswhite. \ No newline at end of file diff --git a/challenge-104/jeff/README b/challenge-104/jeff/README new file mode 100644 index 0000000000..d5f15f4a8e --- /dev/null +++ b/challenge-104/jeff/README @@ -0,0 +1 @@ +Solution by Jeff diff --git a/challenge-104/jeongoon/.gitignore b/challenge-104/jeongoon/.gitignore new file mode 100644 index 0000000000..23c7e03022 --- /dev/null +++ b/challenge-104/jeongoon/.gitignore @@ -0,0 +1,5 @@ +ch-1 +ch-2 +*~ +elm-stuff +index.html diff --git a/challenge-104/jeongoon/README b/challenge-104/jeongoon/README new file mode 100644 index 0000000000..fb69b53165 --- /dev/null +++ b/challenge-104/jeongoon/README @@ -0,0 +1 @@ +Solution by Myoungjin Jeon diff --git a/challenge-104/jeremy-carman/README b/challenge-104/jeremy-carman/README new file mode 100644 index 0000000000..3d08510e49 --- /dev/null +++ b/challenge-104/jeremy-carman/README @@ -0,0 +1 @@ +Solution by Jeremy Carman diff --git a/challenge-104/jim-bacon/README b/challenge-104/jim-bacon/README new file mode 100644 index 0000000000..8dcfd637a3 --- /dev/null +++ b/challenge-104/jim-bacon/README @@ -0,0 +1 @@ +Solution by Jim Bacon diff --git a/challenge-104/jitu-keshwani/README b/challenge-104/jitu-keshwani/README new file mode 100644 index 0000000000..4f02c1e3ce --- /dev/null +++ b/challenge-104/jitu-keshwani/README @@ -0,0 +1 @@ +Solutions by Jitu Keshwani. diff --git a/challenge-104/jj-merelo/README b/challenge-104/jj-merelo/README new file mode 100644 index 0000000000..d09838676b --- /dev/null +++ b/challenge-104/jj-merelo/README @@ -0,0 +1 @@ +Solution by JJ Merelo diff --git a/challenge-104/jluis/README b/challenge-104/jluis/README new file mode 100644 index 0000000000..ff80e1d3bd --- /dev/null +++ b/challenge-104/jluis/README @@ -0,0 +1 @@ +Solution by jluis diff --git a/challenge-104/jo-37/README b/challenge-104/jo-37/README new file mode 100644 index 0000000000..b124ddbd7c --- /dev/null +++ b/challenge-104/jo-37/README @@ -0,0 +1 @@ +Solution by Jo S. diff --git a/challenge-104/jo-christian-oterhals/README b/challenge-104/jo-christian-oterhals/README new file mode 100644 index 0000000000..eafff999fb --- /dev/null +++ b/challenge-104/jo-christian-oterhals/README @@ -0,0 +1 @@ +Solution by Jo Christian Oterhals diff --git a/challenge-104/joe-tym/README b/challenge-104/joe-tym/README new file mode 100644 index 0000000000..4e2d1b704f --- /dev/null +++ b/challenge-104/joe-tym/README @@ -0,0 +1 @@ +Solutions by Joe Tym. diff --git a/challenge-104/joelle-maslak/README b/challenge-104/joelle-maslak/README new file mode 100644 index 0000000000..d12c7940c3 --- /dev/null +++ b/challeng