Trilhas
/
Go
Go
/
Exercícios
/
Contagem de Nucleotídeos
Contagem de Nucleotídeos

Contagem de Nucleotídeos

Fácil

Instruções

Cada um de nós herda dos nossos pais biológicos um conjunto de instruções químicas conhecidas como DNA, que influenciam a forma como o nosso corpo é construído. Toda a vida conhecida depende do DNA!

Observação: você não precisa entender nada sobre nucleotídeos ou DNA para completar este exercício.

O DNA é uma longa cadeia de outras substâncias químicas, e as mais importantes são os quatro nucleotídeos: adenina, citosina, guanina e timina. Uma única cadeia de DNA pode conter bilhões desses quatro nucleotídeos, e a ordem em que eles aparecem é importante! Chamamos a ordem desses nucleotídeos em um trecho de DNA de "sequência de DNA".

Representamos uma sequência de DNA como uma coleção ordenada desses quatro nucleotídeos, e uma forma comum de fazer isso é com uma string de caracteres como "ATTACG" para uma sequência de DNA de 6 nucleotídeos. 'A' para adenina, 'C' para citosina, 'G' para guanina e 'T' para timina.

Dada uma string que representa uma sequência de DNA, conte quantos de cada nucleotídeo estão presentes. Se a string contiver caracteres que não sejam A, C, G ou T, ela é inválida e você deve sinalizar um erro.

Por exemplo:

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

Implementação

Você deve definir um tipo personalizado 'DNA' com uma função 'Counts' que retorna dois valores:

  • uma contagem de frequência para a fita de DNA fornecida
  • um erro (se houver nucleotídeos inválidos)

Qual é um bom tipo para uma fita de DNA?

Quais são os melhores tipos em Go para representar os valores de saída?

Dê uma olhada nos casos de teste para ter uma ideia de quais podem ser as entradas possíveis.

Observação sobre os testes

Talvez você esteja se perguntando sobre o arquivo cases_test.go. Explicamos isso no exercício Ano Bissexto.

Editar via GitHub O link abre em uma nova janela ou aba
Go Exercism

Tudo pronto para começar Contagem de Nucleotídeos?

Crie sua conta no Exercism para aprender e dominar Go com 34 conceitos165 exercícios e mentoria humana de verdade, tudo de graça.