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 os nossos corpos são construídos. Toda a vida conhecida depende do DNA!
Nota: não precisas de perceber nada sobre nucleótidos ou DNA para completar este exercício.
O DNA é uma longa cadeia de outros químicos e os mais importantes são os quatro nucleótidos: adenina, citosina, guanina e timina. Uma única cadeia de DNA pode conter milhares de milhões destes quatro nucleótidos e a ordem em que ocorrem é importante! Chamamos "sequência de DNA" à ordem destes nucleótidos num pedaço de DNA.
Representamos uma sequência de DNA como uma coleção ordenada destes quatro nucleótidos e uma forma comum de o fazer é com uma string de carateres, como "ATTACG" para uma sequência de DNA de 6 nucleótidos. 'A' de adenina, 'C' de citosina, 'G' de guanina e 'T' de timina.
Dada uma string que representa uma sequência de DNA, conta quantos de cada nucleótido estão presentes. Se a string contiver carateres que não sejam A, C, G ou T, então é inválida e deves assinalar um erro.
Por exemplo:
"GATTACA" -> 'A': 3, 'C': 1, 'G': 1, 'T': 2
"INVALID" -> error
| Registo | Utilização | Tipo | Descrição |
|---|---|---|---|
$a0 |
entrada | endereço | string de entrada terminada em nulo |
$a1 |
entrada/saída | endereço | array de palavras com as contagens finais de nucleótidos |
$t0-9 |
temporário | qualquer | para armazenamento temporário |
Inscreve-te no Exercism para aprenderes e dominares MIPS Assembly com 70 exercícios, e mentoria humana real, tudo grátis.