2020-06-30 14:21:26 +05:30

2.6 KiB
Raw Blame History

id, title, isRequired, challengeType, forumTopicId, localeTitle
id title isRequired challengeType forumTopicId localeTitle
afd15382cdfb22c9efe8b7de DNA Pairing true 5 16009 Связывание ДНК

Description

В цепочке ДНК отсутствует элемент сопряжения. Возьмите каждого символа, получите его пару и верните результаты в виде массива 2d. Базовые пары - это пара AT и CG. Совместите отсутствующий элемент с предоставленным символом. Возвращаем предоставленный символ как первый элемент в каждом массиве. Например, для входного GCG возвратите «G», «C»], [«C», «G»], [«G», «C» Символ и его пара спарены в массив, и все массивы сгруппированы в один инкапсулирующий массив. Не забудьте использовать Read-Search-Ask, если вы застряли. Попробуйте подключить программу. Напишите свой собственный код.

Instructions

Tests

tests:
  - text: <code>pairElement("ATCGA")</code> should return <code>[["A","T"],["T","A"],["C","G"],["G","C"],["A","T"]]</code>.
    testString: assert.deepEqual(pairElement("ATCGA"),[["A","T"],["T","A"],["C","G"],["G","C"],["A","T"]]);
  - text: <code>pairElement("TTGAG")</code> should return <code>[["T","A"],["T","A"],["G","C"],["A","T"],["G","C"]]</code>.
    testString: assert.deepEqual(pairElement("TTGAG"),[["T","A"],["T","A"],["G","C"],["A","T"],["G","C"]]);
  - text: <code>pairElement("CTCTA")</code> should return <code>[["C","G"],["T","A"],["C","G"],["T","A"],["A","T"]]</code>.
    testString: assert.deepEqual(pairElement("CTCTA"),[["C","G"],["T","A"],["C","G"],["T","A"],["A","T"]]);

Challenge Seed

function pairElement(str) {
  return str;
}

pairElement("GCG");

Solution

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]];});
}