Kurzusok
/
Go
Go
/
Feladatok
/
Nukleotidszámlálás
Nukleotidszámlálás

Nukleotidszámlálás

Könnyű

Utasítások

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

Megvalósítás

Definiálnod kell egy egyedi „DNA” típust egy „Counts” függvénnyel, amely két értéket ad vissza:

  • az adott DNA-szálhoz tartozó gyakorisági számot
  • egy hibát (ha érvénytelen nukleotidok vannak)

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.

Megjegyzés a tesztekről

Talán elgondolkodtál a cases_test.go fájlon. Ezt a szökőév feladatban magyarázzuk el.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Go Exercism

Készen állsz elkezdeni a(z) Nukleotidszámlálás feladatot?

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.