Files
wehub-resource-sync dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:55:53 +08:00

1.6 KiB

id, title, challengeType, dashedName
id title challengeType dashedName
68d30845cc08266018fc46bc Challenge 76: Complementary DNA 29 challenge-76

--description--

Given a string representing a DNA sequence, return its complementary strand using the following rules:

  • DNA consists of the letters "A", "C", "G", and "T".
  • The letters "A" and "T" complement each other.
  • The letters "C" and "G" complement each other.

For example, given "ACGT", return "TGCA".

--hints--

complementary_dna("ACGT") should return "TGCA".

({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(complementary_dna("ACGT"), "TGCA")`)
}})

complementary_dna("ATGCGTACGTTAGC") should return "TACGCATGCAATCG".

({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(complementary_dna("ATGCGTACGTTAGC"), "TACGCATGCAATCG")`)
}})

complementary_dna("GGCTTACGATCGAAG") should return "CCGAATGCTAGCTTC".

({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(complementary_dna("GGCTTACGATCGAAG"), "CCGAATGCTAGCTTC")`)
}})

complementary_dna("GATCTAGCTAGGCTAGCTAG") should return "CTAGATCGATCCGATCGATC".

({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(complementary_dna("GATCTAGCTAGGCTAGCTAG"), "CTAGATCGATCCGATCGATC")`)
}})

--seed--

--seed-contents--

def complementary_dna(strand):

    return strand

--solutions--

def complementary_dna(strand):
    complements = { "A": "T", "T": "A", "C": "G", "G": "C" }
    return "".join(complements[n] for n in strand)