Files
2022-05-27 08:24:36 -07:00

1.8 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
afd15382cdfb22c9efe8b7de Parear DNA 5 16009 dna-pairing

--description--

Os pares de fileiras de ADN são constituídos por pares de bases de proteínas. Os pares de bases são representados pelos caracteres AT and CG, que formam os blocos de construção da dupla hélice do ADN.

A fileira do ADN está sem o elemento de que faz par com ele. Escreva uma função que corresponda aos pares de base que faltam para a fileira de ADN fornecida. Para cada caractere na string fornecida, encontre o caractere de par de bases. Retorne os resultados em um array bidimensional.

Por exemplo, para a entrada GCG, retorne [["G", "C"], ["C","G"], ["G", "C"]]

O caractere e seu par estão emparelhados em um array, e todos os arrays estão agrupados em um array encapsulador.

--hints--

pairElement("ATCGA") deve retornar [["A","T"],["T","A"],["C","G"],["G","C"],["A","T"]].

assert.deepEqual(pairElement('ATCGA'), [
  ['A', 'T'],
  ['T', 'A'],
  ['C', 'G'],
  ['G', 'C'],
  ['A', 'T']
]);

pairElement("TTGAG") deve retornar [["T","A"],["T","A"],["G","C"],["A","T"],["G","C"]].

assert.deepEqual(pairElement('TTGAG'), [
  ['T', 'A'],
  ['T', 'A'],
  ['G', 'C'],
  ['A', 'T'],
  ['G', 'C']
]);

pairElement("CTCTA") deve retornar [["C","G"],["T","A"],["C","G"],["T","A"],["A","T"]].

assert.deepEqual(pairElement('CTCTA'), [
  ['C', 'G'],
  ['T', 'A'],
  ['C', 'G'],
  ['T', 'A'],
  ['A', 'T']
]);

--seed--

--seed-contents--

function pairElement(str) {
  return str;
}

pairElement("GCG");

--solutions--

var lookup = Object.create(null);
lookup.A = 'T';
lookup.T = 'A';
lookup.C = 'G';
lookup.G = 'C';

function pairElement(str) {
 return str.split('').map(function(p) {return [p, lookup[p]];});
}