Parcours
/
Go
Go
/
Exercices
/
Comptage de nucléotides
Comptage de nucléotides

Comptage de nucléotides

Facile

Instructions

Nous héritons tous de nos parents biologiques un ensemble d'instructions chimiques appelé ADN, qui influencent la façon dont notre corps se construit. Toute forme de vie connue dépend de l'ADN !

Remarque : tu n'as pas besoin de comprendre quoi que ce soit aux nucléotides ou à l'ADN pour faire cet exercice.

L'ADN est une longue chaîne d'autres produits chimiques, et les plus importants sont les quatre nucléotides : l'adénine, la cytosine, la guanine et la thymine. Une seule chaîne d'ADN peut contenir des milliards de ces quatre nucléotides, et l'ordre dans lequel ils apparaissent est important ! On appelle l'ordre de ces nucléotides dans un fragment d'ADN une « séquence d'ADN ».

On représente une séquence d'ADN comme une collection ordonnée de ces quatre nucléotides, et une façon courante de le faire est d'utiliser une string de caractères telle que « ATTACG » pour une séquence d'ADN de 6 nucléotides. « A » pour l'adénine, « C » pour la cytosine, « G » pour la guanine et « T » pour la thymine.

À partir d'une string qui représente une séquence d'ADN, compte combien de fois chaque nucléotide apparaît. Si la string contient des caractères autres que A, C, G ou T, elle est invalide et tu dois signaler une erreur.

Par exemple :

"GATTACA" -> 'A': 3, 'C': 1, 'G': 1, 'T': 2
"INVALID" -> error

Implémentation

Tu dois définir un type personnalisé 'DNA' avec une fonction 'Counts' qui renvoie deux valeurs :

  • un décompte de fréquence pour le brin d'ADN donné
  • une erreur (s'il y a des nucléotides invalides)

Quel type est adapté pour représenter un brin d'ADN ?

Quels sont les meilleurs types en Go pour représenter les valeurs de sortie ?

Jette un œil aux cas de test pour avoir une idée des entrées possibles.

Note sur les tests

Tu te demandes peut-être à quoi correspond le fichier cases_test.go. On l'explique dans l'exercice leap.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Go Exercism

Prêt à commencer Comptage de nucléotides ?

Inscris-toi sur Exercism pour apprendre et maîtriser Go avec 34 concepts165 exercices, et un vrai mentorat humain, le tout gratuitement.