Mindannyian örököljük a biológiai szüleinktől azokat a kémiai utasításokat, amelyeket DNS-nek nevezünk, és amelyek meghatározzák, hogyan épül fel a testünk. Minden ismert élet a DNS-től függ!
Megjegyzés: Nem kell semmit tudnod a nukleotidokról vagy a DNS-ről ahhoz, hogy megoldd ezt a feladatot.
A DNS más vegyületek hosszú lánca, amelyben a négy nukleotid a legfontosabb: az adenin, a citozin, a guanin és a timin. Egyetlen DNS-lánc több milliárd ilyen nukleotidot is tartalmazhat, és nagyon számít, milyen sorrendben követik egymást! A DNS egy szakaszán a nukleotidok sorrendjét „DNS-szekvenciának” nevezzük.
A DNS-szekvenciát úgy ábrázoljuk, hogy ezt a négy nukleotidot rendezett gyűjteményként kezeljük, amit általában karakterek egy string-jével adunk meg; egy 6 nukleotidból álló DNS-szekvenciát például az „ATTACG” ír le. Az 'A' az adenint, a 'C' a citozint, a 'G' a guanint, a 'T' pedig a timint jelöli.
Adott egy DNS-szekvenciát képviselő string; számold meg, hogy az egyes nukleotidokból mennyi található benne. Ha a string olyan karaktereket tartalmaz, amelyek nem A, C, G vagy T, akkor az érvénytelen, és hibát kell jelezned.
Például:
"GATTACA" -> 'A': 3, 'C': 1, 'G': 1, 'T': 2
"INVALID" -> error
Definiálnod kell egy egyedi „DNA” típust egy „Counts” függvénnyel, amely két értéket ad vissza:
Milyen típus illik jól egy DNA-szálhoz?
Melyek a legjobb Go-típusok a kimeneti értékek ábrázolására?
Nézd meg a teszteseteket, hogy tippet kapj arról, mik lehetnek a lehetséges bemenetek.
Talán elgondolkodtál a cases_test.go fájlon.
Ezt a szökőév feladatban magyarázzuk el.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Go nyelvet 34 fogalom165 feladat segítségével, valódi emberi mentorálással, mindez ingyen.