Retour aux défis
Facile 0 résolus 0 % de réussite

DNA to RNA Transcription

Build an RNA string by replacing every DNA character with its partner.

Ce que vous allez apprendre

  • Traduire des caractères avec une table de correspondance
  • Construire une nouvelle chaîne à partir des caractères traduits
  • Traiter chaque caractère d'une séquence

Problème

Build an RNA string by replacing every DNA character with its partner. Use this complete mapping: A → U, C → G, G → C, T → A. Preserve the original order. No biology knowledge is needed.

Implement dna_to_rna(dna).

Input

dna: The DNA string to transform.

Output

Return the transformed string. Empty input returns an empty string.

Contraintes

0 ≤ DNA length ≤ 100,000. Characters are uppercase A, C, G, or T.

Exemples

Exemple 1
Entrée :
dna = "ACGT"

Sortie attendue :
expected = "UGCA"
Entrée :
std::string dna = "ACGT";

Sortie attendue :
std::string expected = "UGCA";
Entrée :
string dna = "ACGT";

Sortie attendue :
string expected = "UGCA";

Explication

A becomes U, C becomes G, G becomes C, and T becomes A, giving UGCA.

Exemple 2
Entrée :
dna = ""

Sortie attendue :
expected = ""
Entrée :
std::string dna = "";

Sortie attendue :
std::string expected = "";
Entrée :
string dna = "";

Sortie attendue :
string expected = "";

Explication

There are no characters to replace, so the result is empty.

Comment l'aborder

Essayez d'abord seul, puis ouvrez les indices un par un.

Indice 1

Chaque lettre DNA correspond à exactement une lettre RNA, donc traduisez caractère par caractère.

Indice 2

Utilisez une correspondance directe pour les quatre symboles valides en gardant l’ordre d’origine.

Indice 3

Une entrée vide doit renvoyer une chaîne vide, et chaque caractère est garanti valide.

Complexité attendue

temps O(n), espace supplémentaire O(n)

Références

Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.