søndag 22. desember 2013 Julekalender
Dagens oppgave presenterte i bunn og grunn to ting – en liste med ord, og et mønster som matcher med noen av ordene. Oppgaven gikk ut på å finne ut hvor mange av ordene mønsteret passet for. Mønsteret så slik ut:
(gatzkq)(ebrhwn)(biadt)(aipxe)(jcakt)(cazxidb)(acki)(fzhab)(ahzbk)(aiokd)
Når jeg nå bruker ordene "mønster" og "matcher" (noe jeg ikke gjorde i oppgaven), så gir det hint om hvordan oppgaven kunne løses på raskest mulig måte. Man kunne nemlig bruke regulære uttrykk!
Her er et eksempel på hvordan jeg løser oppgaven i Ruby:
Koden kan f.eks. se slik ut (hvor jeg har brutt opp mønsteret bare for å begrense linjelengden):
data = <<EOF abbaccafaa, gebaccafaa, motataifaa, abbiccazhi, gebiccaifi, zhifaccaia, zhiataibfa, bebabbahzi, trapaficia, ghifivizhi, qwitziccab, qwetxicabb, aeaacfaiia, ghiaavaaha, mhiatiibaa, aeeibiahbi, aeaacciiai, ghiacciaaa, mhiatacbaa, aeeicbchhi, abdaccafaa, gebajcafaa, motalaifaa, abbiccazho, nebiccaifi, znifaccaia, zhiatwnbfa, bebabbahsi, trhqaficia, ghidivizhi, qwitzdccad, qwedxicabd, aedacfadia, ghiaavadha, mhiatidbaa, deeibiahbd, adaaccfiai, ghidccioaa, dhiatacbaa, adexcbchhi, trakafikia, khifivizki, kwitziccab, kwetxicabk, akaacfaiia, ghiaavakha, mhiktikbaa, aekibiahbi, akaackiiai, ghiackiaaa, mhiatakbaa, aekicbchhi, abdakkafaa, kebajcafaa, motalakfaa, abkiccazho, nebikkaifk, znikaccaia, zhiakwnbfa, kekakkahsi, trhqakicia, khikivizhi, kwitzdccad, qwedxicakd, aekackadia, khiaavakha, mkiatikbaa, deeibikhbd, EOF puts data.scan( /[gatzkq][ebrhwn][biadt][aipxe] [jcakt][cazxidb][acki][fzhab] [ahzbk][aiokd]/x).size
Var det noen som løste oppgaven på denne måten?
Stian Eikeland var først ut i dag, og brukte under fem minutter. Magnar klokket inn på litt over 16 minutter - femte beste tid. Mikael Brevik og Eivind Sorteberg brukte begge rundt 20 minutter, og disse fire beholder dermed de fire øverste plassene på resultatlisten, med Stian i en 31-poengs ledelse.
Så det er altså fremdeles fullstendig åpent i forhold til hvem som stikker av med seieren, og det liker vi :D