Jeder von uns erbt von seinen biologischen Eltern eine Reihe chemischer Anweisungen, die als DNA bekannt sind. Sie beeinflussen, wie unser Körper aufgebaut ist. Alles bekannte Leben hängt von der DNA ab!
Hinweis: Du musst nichts über Nukleotide oder DNA verstehen, um diese Übung zu lösen.
Die DNA ist eine lange Kette anderer Chemikalien, und die wichtigsten sind die vier Nukleotide Adenin, Cytosin, Guanin und Thymin. Eine einzelne DNA-Kette kann Milliarden dieser vier Nukleotide enthalten, und die Reihenfolge, in der sie vorkommen, ist wichtig! Die Reihenfolge dieser Nukleotide in einem Stück DNA nennen wir eine „DNA-Sequenz“.
Wir stellen eine DNA-Sequenz als geordnete Sammlung dieser vier Nukleotide dar. Eine übliche Methode dafür ist ein String aus Zeichen wie „ATTACG“ für eine DNA-Sequenz aus 6 Nukleotiden. „A“ für Adenin, „C“ für Cytosin, „G“ für Guanin und „T“ für Thymin.
Gegeben ist ein String, der eine DNA-Sequenz darstellt. Zähle, wie oft jedes der Nukleotide darin vorkommt. Enthält der String Zeichen, die nicht A, C, G oder T sind, ist er ungültig, und du solltest einen Fehler melden.
Zum Beispiel:
"GATTACA" -> 'A': 3, 'C': 1, 'G': 1, 'T': 2
"INVALID" -> error
Du solltest einen eigenen Typ 'DNA' mit einer Funktion 'Counts' definieren, die zwei Werte zurückgibt:
Welcher Typ eignet sich gut für einen DNA-Strang?
Welche Go-Typen eignen sich am besten, um die Rückgabewerte darzustellen?
Schau dir die Testfälle an, um einen Hinweis darauf zu bekommen, was die möglichen Eingaben sein könnten.
Du fragst dich vielleicht, was es mit der Datei cases_test.go auf sich hat.
Wir erklären sie in der Schaltjahr-Übung.
Melde dich bei Exercism an, um Go mit 34 Konzepte165 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.