홍우진의 개발 일기장

[백준] 1969번: DNA/ 파이썬 본문

알고리즘/백준

[백준] 1969번: DNA/ 파이썬

홍우진 2022. 8. 14. 22:49
728x90
반응형

문제 링크


https://www.acmicpc.net/problem/1969

 

1969번: DNA

DNA란 어떤 유전물질을 구성하는 분자이다. 이 DNA는 서로 다른 4가지의 뉴클레오티드로 이루어져 있다(Adenine, Thymine, Guanine, Cytosine). 우리는 어떤 DNA의 물질을 표현할 때, 이 DNA를 이루는 뉴클레오

www.acmicpc.net

 

풀이 코드


n, m = map(int, input().split())

arr = []

for i in range(n):
    arr.append(list(map(str, input())))

cnt, hap = 0, 0
result = ''
for i in range(m):
    a, c, g, t = 0, 0, 0, 0
    for j in range(n):
        if arr[j][i] == 'T':
            t += 1
        elif arr[j][i] == 'A':
            a += 1
        elif arr[j][i] == 'G':
            g += 1
        elif arr[j][i] == 'C':
            c += 1
    if max(a,c,g,t) == a:
        result += 'A'
        hap += c + g +t
    elif max(a,c,g,t) == c:
        result += 'C'
        hap += a + g +t
    elif max(a,c,g,t) == g:
        result += 'G'
        hap += a + c +t
    elif max(a,c,g,t) == t:
        result += 'T'
        hap += c + g + a
    
print(result)
print(hap)

코드 해석


분해하여 리스트 형식으로 가져온 뒤 각 자리에 수를 저장한다.

728x90
반응형
Comments