문제

  • DNA는 생물학적 시스템의 기본 정보 저장 분자이다.
  • RNA는 세포의 기본 전달 분자이다.
  • RNA는 DNA와 화학 구조가 약간 다르며, Thymine(T)을 포함하지 않는다.
  • RNA는 Thymine(T)은 다른 핵산 Uracil(U)로 대체된다.
  • 주어진 문자열을 RNA로 변형한다.

풀이 01

function dnaToRna(dna) {
  let result = '';

  for (let i = 0; i < dna.length; i++) {
    if (dna[i] === 'T') {
      result += 'U';
    } else {
      result += dna[i];
    }
  }
  return result;
}

dnaToRna('GCAT');  // GCAU
dnaToRna('TTTT');  // UUUU

풀이 02

function dnaToRna(dna) {
  let result = '';

  for (let i = 0; i < dna.length; i++) {
    dna[i] === 'T' ? result += 'U' : result += dna[i];
  }
  return result;
}

dnaToRna('GCAT');  // GCAU
dnaToRna('TTTT');  // UUUU

풀이 03

function dnaToRna(dna) {
  return dna.split('T').join('U');
}

dnaToRna('GCAT');  // GCAU
dnaToRna('TTTT');  // UUUU
  • split(): 문자열을 부분 문자열로 분할하고, 새 배열로 반환한다.
  • join(): 배열의 모든 element를 결합하고, 새 문자열로 반환한다.

풀이 04

function dnaToRna(dna) {
  return dna.replace(/T/g, 'U');
}

dnaToRna('GCAT');  // GCAU
dnaToRna('TTTT');  // UUUU

정규표현식 (RegExp)

  • replace(): 대응되는 문자열을 찾아 다른 문자열로 치환한다.
  • g: 전역 검색