dnaToRna.js (8kyu 44)
Codewars 알고리즘 풀이
Problem
- DNA is the primary informations storage molecule in biological systems.
- DNA는 생물학적 시스템의 기본 정보 저장 분자이다.
- RNA is the primary messenger molecule in cells.
- RNA는 세포의 기본 전달 분자이다.
- RNA differs slightly from DNA its chemical structure and contains no Thymine.
- RNA는 DNA와 화학 구조가 약간 다르며, Thymine(T)을 포함하지 않는다.
- In RNA Thymine is replaced be another nucleic acid Uracil(U).
- RNA Thymine(T)은 다른 핵산 Uracil(U)로 대체된다.
- Create a function which translates a given DNA string into RNA.
- 주어진 문자열을 RNA로 변형한다.
Solution 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
Solution 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
Solution 03
function dnaToRna(dna) {
return dna.split('T').join('U');
}
dnaToRna('GCAT'); // GCAU
dnaToRna('TTTT'); // UUUU
split()
메소드문자열을 부분 문자열로 분할하고, 새 배열로 반환한다.
join()
메소드배열의 모든 element를 결합하고, 새 문자열로 반환한다.
Solution 04
function dnaToRna(dna) {
return dna.replace(/T/g, 'U');
}
dnaToRna('GCAT'); // GCAU
dnaToRna('TTTT'); // UUUU
정규표현식 (RegExp)
replace()
: 대응되는 문자열을 찾아 다른 문자열로 치환한다.
g
: 전역 검색