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
1.3 KiB
1.3 KiB
id, title, challengeType, dashedName
| id | title | challengeType | dashedName |
|---|---|---|---|
| 68d30845cc08266018fc46bc | Challenge 76: Complementary DNA | 28 | 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--
complementaryDNA("ACGT") should return "TGCA".
assert.equal(complementaryDNA("ACGT"), "TGCA");
complementaryDNA("ATGCGTACGTTAGC") should return "TACGCATGCAATCG".
assert.equal(complementaryDNA("ATGCGTACGTTAGC"), "TACGCATGCAATCG");
complementaryDNA("GGCTTACGATCGAAG") should return "CCGAATGCTAGCTTC".
assert.equal(complementaryDNA("GGCTTACGATCGAAG"), "CCGAATGCTAGCTTC");
complementaryDNA("GATCTAGCTAGGCTAGCTAG") should return "CTAGATCGATCCGATCGATC".
assert.equal(complementaryDNA("GATCTAGCTAGGCTAGCTAG"), "CTAGATCGATCCGATCGATC");
--seed--
--seed-contents--
function complementaryDNA(strand) {
return strand;
}
--solutions--
function complementaryDNA(strand) {
const complements = { A: "T", T: "A", C: "G", G: "C" };
return strand
.split("")
.map(c => complements[c])
.join("");
}