Solidabis

Koodihaastekatsaus, osa 1: Voittajat ja yleiskatsaus


Tämän vuoden koodihaasteen teemana oli salakirjoituksen selvittäminen. Rajapintamme tarjosi 200 caesar-salakirjoituksella suojattua lausetta, joita varten haasteen tekijän tuli luoda algoritmi, joka ratkaisisi mahdollisimman monta lausetta mahdollisimman tehokkaasti ja elegantisti. Tehtävää vaikeutti vielä se, että osan lauseista ei kuulunutkaan kääntyä suomeksi. Itse asiassa suurin osa lauseista oli tällaisia, vain 50 lausetta kaikista 200:sta kääntyi selkokieliseksi.

Koska kääntymättömiä lauseita oli niin paljon, tuli hyvinkin toteutetuilla algoritmeilla helposti huteja mukaan. Hudeilla tarkoitetaan tässä mitään tarkoittamattomia lauseita, jotka algoritmi kuitenkin jonkinlaisen pisteytyssysteemin perusteella tulkitsi suomeksi. 150:n lauseen joukosta tulee helposti jollakin avaimella lause, joka voi sisältää puolet tai ylikin suomalaisia sanoja, mutta ei kuitenkaan ole suomenkieltä eikä tarkoita mitään. Tätä haasteen puolta kuvaa myös erään vastaajan palaute: ”Sopivan kevyt mutta samalla parhaan ratkaisun hiomiseen saisi kulutettua vaikka kuinka paljon aikaa!

Saimme yhteensä 31 vastausta koodihaasteeseemme. Vastausten joukko oli hyvin monipuolinen niin teknologioiden kuin algoritmien toteutusten osalta. Tämän mahdollisti se, ettemme asettaneet rajoituksia näiden asioiden suhteen, mutta myös se, ettei tehtävään ollut mitään yhtä oikeaa vastausta. Toisaalta tämä myös hankaloitti jossain määrin vastausten arviointia. Vaikka voittajaehdokkaat nousivatkin aika selkeästi esiin, ei yhden voittajan valinta ollut missään nimessä helppo valinta.

SOLIDABIKSEN VUODEN 2019 KOODIHAASTEEN VOITTAJAT:

Voittajaksi valikoitui:
-Veli-Pekka Nurmi, Helsinki

Palkintona 300€ lahjakortti Verkkokauppa.comiin.

Arvonnan voittivat:
-Antti Arekallio, Turku
-Hape Haavikko, Vantaa

Palkintoina 100€ lahjakortti Verkkokauppa.comiin.

Voittajille on ilmoitettu asiasta henkilökohtaisesti. Onnea voittajille!

Haasteen arvostelussa pääpaino oli koodin laadussa. Tällä tarkoitetaan muunmuassa hyvien käytäntöjen noudattamista, selkeyttä ja tehokkuutta. Jos yksi algoritmi kääntää 200 lausetta sekunnissa ja toisella menee yli 10 sekuntia, on algoritmien tehokkuudessa selkeä ero. Jos kyseessä olisi vain taustalla tapahtuva prosessi, ei sillä olisi niin suurta merkitystä. Tehtävänannossa kuitenkin vaadittiin myös käyttöliittymän toteutus, joka tarkoittaa sitä, että ihmiskäyttäjä joutuu sivua ladatessa tai nappia painaessa odottamaan koko sen ajan. Käyttöliittymän tyylittely tai toteutuskaan eivät olleet oleellisessa osassa koodihaasteen arvostelua. Kuitenkin voittajaehdokkailla tuntui kaikki olevan ensiluokkaisesti toteutettua, niin ratkaisualgoritmi kuin visuaalinen käyttöliittymä. Vaikka joissakin vastauksissa olikin enemmän tai vähemmän puutteita, olemme iloisia, että kaiken tasoiset tekijät tarttuivat haasteeseen. Tätä varten asetimmekin rohkaisuksi kaksi arvottavaa palkintoa hyväksyttyjen vastausten kesken.

Tästä näät listan niistä 50:stä no bullshit -lauseesta alkuperäismuodossaan suomenkielisenä, jos haluat tarkastella, mitä sinun vastauksesi ei mahdollisesti löytänyt.