[자바스크립트/알고리즘] DNA 페어링
728x90

DNA Pairing이란?

DNA 가닥에 페어링 요소가 없다면 각 문자를 가져와서 쌍을 만들고 배열로 반환한다.

즉, 누락된 요소를 제공된 문자와 일치시킨다.
기본 쌍(Base Pairs)은 AT와 CG의 쌍이다.

 

예시

GCG는  [["G", "C"], ["C","G"],["G", "C"]] 를 반환한다.

ATCGA는 [["A","T"],["T","A"],["C","G"],["G","C"],["A","T"]] 를 반환한다.

 

나의 풀이

function pairElement(str) {
  let answer = [];
  
  str.split("").map(e => {
    switch(e){
      case 'G' : answer.push([e, 'C']); break;
      case 'C' : answer.push([e, 'G']); break;
      case 'A' : answer.push([e, 'T']); break;
      case 'T' : answer.push([e, 'A']); break;
      
    }
  });

  return answer;
}

 

str를 한 글자씩 나누어 살펴본다.

'G'일 경우 answer에 ['G', 'C']를 넣는다.

'C'일 경우 answer에 ['C', 'G']를 넣는다.

똑같은 방식으로 'A'와 'T'도 처리해준다.

 

Intermediate Algorithm Scripting: DNA PairingPassed

(문제 출처:www.freecodecamp.org)

320x100