AoC 2023, 1. päev
AoC, A.D. 2023
Elu on näidanud, et AoC ülesannete lahendamine tuleb mul päris hästi välja, aga ülesannetele–lahendustele analüüside kirjutamine on märksa raskem töö (2020 ja 2022 kurvad mälestusmärgid). Seega mis sitasti, see uuesti.
Ülesanne
Siin: https://adventofcode.com/2023/day/1
Lahendus
Päris mitmel spordialal kehtib reegel “võidab see, kes teeb kõige vähem vigu”. Nii ka siin. Ma ei hakka oma rumalaid vigu selgitama ega vabandama, aga kokku läks õnnetud 22 minutit, et tulemus kirja saada.
Esimese päeva kohta on ülesande teine pool päris ilusa nipiga, nipp oma korda näeb välja täpselt selline, et ülesandepüstituse kirjutamine ChatGPT jaoks mõttetult kaua aega võtaks (spekulatsioon muidugi).
Esimene pool
Igast reast eraldi tuleb välja filtreerida kümnendnumbrid ning nendest numbritest esimene ja viimane omavahel kümnendarvuks formeerida. Ja siis iga rea sedasi saadud kalibreerimisväärtused tulemuseks summeerida.
Teine pool
Teine pool, nagu öeldud, on nipiga.
On vaja märgata, et inglise keele arvsõnadel kipuvad esimesed ja viimased tähed kattuma (twO
vs OnE
vs EighT
vs Two
jne) ning ülesandepüstituses ei ole kuidagi mainitud, et need arvsõnad peaks sisendandmetes olema esitatud ülekatteta.
Seetõttu ei saa arvsõnu asendada numbritega lihtviisil, vaid tuleb jätta võimalus, et asendatud arvsõna kõrval on ühemärgilise ülekattega veel üks arvsõna.
Muus osas on teise poole lahendus sama kui esimesel poolel.
Lahenduskäik: https://github.com/fazz/aoc/blob/master/aoc2023/day01.py