알고리즘/코드워

[python]Complementary DNA

(ㅇㅅㅎ) 2020. 10. 28. 20:00
728x90
반응형

www.codewars.com/kata/554e4a2f232cdd87d9000038/train/python

 

Codewars: Achieve mastery through challenge

Codewars is where developers achieve code mastery through challenge. Train on kata in the dojo and reach your highest potential.

www.codewars.com

이 문제는 지정된 문자를 바꾸는 것입니다.

A -> T        T -> A        C -> G        G -> C

저는 이 문제를 첫 번째는 for문과 if문을 이용하였고 두 번째는 dictionary를 이용해였습니다.

1. for문과 if문 사용

def DNA_strand(dna):
    answer = ""
    
    for i in dna:
        if i == 'A':
            answer += 'T'
        elif i == 'T':
            answer += 'A'
        elif i == 'C':
            answer += 'G'
        elif i == 'G':
            answer += 'C'
    return answer

 

2. dictionary와 for문 사용

def DNA_strand(dna):
    t = {'A':'T''T':'A''C':'G''G':'C'}
    return ''.join([t[i] for i in dna])

 

첫 번째 방법이 경우 2020년 03월에 문제를 풀 당시 사용했던 방법입니다.

두 번째 방법은 오늘 포스팅을 하기 위해 문제를 보면서 이렇게 푸는 방법도 있지 않을까 싶어서 풀어보았습니다.

이 문제는 이러한 방법 외에도 다양한 방법이 있습니다. 다른 분들은 trnaslate와 maketrans를 함께 사용하셨습니다.

 

반응형

'알고리즘 > 코드워' 카테고리의 다른 글

[python]Disemvowel Trolls  (0) 2020.11.02
[python]Mumbling  (0) 2020.10.29
[python]Take a Ten Minute Walk  (0) 2020.10.27
[python]List Filtering  (0) 2020.10.26
[python]Roman Numerals Encoder  (0) 2020.05.23