Onze genetische code wordt bewaard in het DNA. Een DNA-molecule bestaat uit twee ketens die als een dubbele helix met elkaar vervlochten zijn. Sterk vereenvoudigd komt het er op neer dat een DNA-molecule bestaat uit een opeenvolging van vier stikstofbasen: adenine (A), guanine (G), thymine (T) of cytosine (C). De volgorde van deze basen in het DNA vormt een code waarmee het lichaam eiwitten kan maken.
In de dubbele helix zijn de twee afzonderlijke DNA-strengen elkaars complement. Dat wil zeggen dat tegenover elke A een T staat, en vice versa. Tegenover elke C staat een G, en vice versa.
Schrijf een functie complement(DNA). De lijst DNA bestaat uitsluitend uit de strings 'A', 'C', 'G' en 'T'. Deze lijst stelt een DNA-streng voor. Je functie geeft een nieuwe lijst terug die de complementaire streng voorstelt. De oorspronkelijke lijst mag niet gewijzigd worden.
Invoer:
> complement(['G', 'C', 'T', 'G', 'A', 'G', 'G', 'A', 'C', 'A', 'A', 'T', 'A', 'C'])
Uitvoer:
['C', 'G', 'A', 'C', 'T', 'C', 'C', 'T', 'G', 'T', 'T', 'A', 'T', 'G']