[백준/파이썬] 1672번 DNA 해독 풀이

업데이트:



문제 정보


풀이

문제

주어진 DNA 문자열의 마지막 두 글자를 규칙표에 따라 하나로 축약하는 연산을 반복해 최종 한 글자를 구하는 문제입니다.

코드

input()
s=input()
d={'A':{'A':'A','G':'C','C':'A','T':'G'},
   'G':{'A':'C','G':'G','C':'T','T':'A'},
   'C':{'A':'A','G':'T','C':'C','T':'G'},
   'T':{'A':'G','G':'A','C':'G','T':'T'}}
while len(s)>1: s=s[:-2]+d[s[-1]][s[-2]]
print(s)

설명

문자열 뒤에서 두 글자씩 꺼내 규칙표로 새 문자 하나를 만들고, 이 과정을 길이가 1이 될 때까지 반복합니다.

최종 남는 문자 하나가 정답입니다.



댓글남기기