Files
2022-10-20 09:13:17 -07:00

2.0 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
afd15382cdfb22c9efe8b7de DNA Pairing 1 16009 dna-pairing

--description--

تتكوّن مقاطع الحمض النووي من أزواج نووية. يتم تمثيل أزواج القاعدة بأحرف AT و CG التي تكون هيكل بناء الحمض النووي المزدوج.

خيط الحمض النووي يفتقد عنصر الاقتران. كتابة وظيفة لمطابقة أزواج القاعدة المفقودة لشريط الحمض النووي المقدم. لكل رمز في مقطع المقدمة، ابحث عن رمز زوج أساسي. إرجاع النتائج كقائمة 2d.

على سبيل المثال، للمدخل GCG، ينتج [["G", "C"], ["C","G"], ["G", "C"]]

يتم إقران الرمز مع مثيله الخاص به في قائمة، ويتم تجميع كل القوائم في قائمة مغلفة واحدة.

--hints--

يجب أن ينتج pairElement("ATCGA") قائمة [["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") قائمة [["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") قائمة [["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]];});
}