Rešitve nalog iz Advent of Code (2020, 2022)
Zahteve zaključka
Tule se bodo nabirale lepe rešitve nalog Advent of Code za leti 2020 in 2022, s komentarji in različnimi poučnimi stvarmi.
Naloge so v vsaki rešitvi le kratko povzete. Predpostavljam, da je bralec že prebral originalno nalogo in jo tudi rešil.
Spodaj so povezave na Jupyter notebooke. Če želite to poganjati, raje poberite celoten zip, ki vsebuje tudi datoteke z vhodnimi podatki (mojimi - vsak dobi drugačne). Ali pa odprite v Binderju, kjer lahko kodo tudi izvajate (in celo zamenjate podatke s svojimi).
Advent of code 2022
- 01 Calorie Counting: malo vaje iz branja datotek
- 02 Rock Paper Scissos: nič takega - malo generatorjev in slovarjev
- 03 Rucksack Reorganization: nekaj zanimivih trikov z generatorji; igranje z množicami
- 04 Camp cleanup: kratko in jedrnato z učinkovito rabo pogojev in generatorjev
- 05 Supply Stacks: nič posebnega - nadležno branje podatkov in preprosto računanje
- 06 Tuning Trouble: spet kratko in jedrnato, tokrat z rezinami in množicami + zanimiv trik z generatorjem
- 07 No Space Left on Device: lepa vaja iz rekurzije in demonstracija uporabnosti Pythonovega stavka
match
Advent of code 2020
- 01 Report Repair: igranje z generatorji ali množicami
- 02 Password Philosophy: vaja iz branja datotek
- 03 Toboggan Trajectory: nič posebnega; generatorji in rezine?
- 04 Passport Processing: relativno dolgočasna vaja iz branja datotek
- 05 Binary Boarding: nič posebnega; mogoče kak lep programerski trik
- 06 Custom Customs: vezane in nevezane metode; delo z množicami
- 07 Handy Haversacks: rekurzija; in vaja iz branja podatkov
- 08 Handheld Halting: simulator CPU
- 09 Encoding Error: lepa naloga iz algoritmov; pomikanje po oknu, iskanje okna...
- 10 Adapter Array: lep primerek naloge na temo dinamičnega programiranja
- 11 Seating System: v bistvu implementacija igre življenja; predvsem vaja iz elegantnega programiranja
- 12 Rain Risk: imeniten primer uporabe kompleksnih števil.
- 13 Shuttle Search: malo matematike (kitajski ostanki)
- 14 Docking Data: igranje z biti
- 15 Rambunctious Recitation: ena sitna zanka, ampak dober primer, zakaj moramo uporabljati slovarje
- 16 Ticket Translation: lep (čeprav malo dolg) primer elegantne rabe izpeljanih seznamov
- 17 Conway Cubes: večdimenzionalna igra življenja - lep primer elegantnega dela z množicami, funkcijami višjih redov, kreativne uporabe trojiškega zapisa...
- 18 Operation Order: kako Python analizira program; posebne metode razredov
- 19 Monster Messages: kontekstno neodvisne gramatike in zanimiva vaja iz rekurzije.
- 20 Jurassic Jigsaw: uporabljeno kot domača naloga, tako da vsebuje delo s seznami, slovarji, množicami, izpeljanimi seznami...
- 21 Allergen Assessment: imenitna vaja iz razmišljanja o množicah
- 22 Crab Combat: samo malo programiranja, vključno z rekurzijo
- 23 Crab Cups: povezani krožni seznami
- 24 Lobby Layout: šestkotni koordinatni sistem; množice
- 25 Combo Breaker: Razbijanje Diffie-Hellmanove izmenjave ključev
Zadnja sprememba: nedelja, 11. december 2022, 17.43