Deoxyribonucleic acid (DNA) is a chemical found in the nucleus of cells and carries the "instructions" for the development and functioning of living organisms.
If you want to know more: http://en.wikipedia.org/wiki/DNA
In DNA strings, symbols "A" and "T" are complements of each other, as "C" and "G". You function receives one side of the DNA (string, except for Haskell); you need to return the other complementary side. DNA strand is never empty or there is no DNA at all (again, except for Haskell).
More similar exercise are found here: http://rosalind.info/problems/list-view/ (source)
Example: (input --> output)
"ATTGC" --> "TAACG"
"GTAT" --> "CATA"
dnaStrand [] `shouldBe` []
dnaStrand [A,T,G,C] `shouldBe` [T,A,C,G]
dnaStrand [G,T,A,T] `shouldBe` [C,A,T,A]
dnaStrand [A,A,A,A] `shouldBe` [T,T,T,T]
function DNAStrand(dna) {
const words = [...dna];
const result = words.map((word) => {
if (word === 'A') {
return 'T'
}
else if (word === 'T') {
return 'A'
}
else if (word === 'C') {
return 'G'
}
else
return 'C'
})
return result.join('');
}
전개 연산자를 통해서 주어진 string을 배열로 나타냈다.
반복문 사용이 익숙하지 않아서 어제 사용했었던 map함수를 다시 이용해봤다.
조건식이 넘 많이 들어간것같아서 더 간단하게 할 수 있을것같은데 방법을 다시 한번 생각해봐야겠다.
'코테연습' 카테고리의 다른 글
13.Sum of Numbers (0) | 2022.03.22 |
---|---|
12.Credit Card Mask (0) | 2022.03.21 |
10.Jaden Casing Strings (0) | 2022.03.20 |
9.Shortest Word (0) | 2022.03.18 |
8.Exes and Ohs (0) | 2022.03.18 |
댓글