코테 대비 python/백준

1969 문자열, 구현

ylab 2023. 1. 27. 10:10

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())

dna=[input() for _ in range(N)]
#print(dna)
#각 문열의 맥스값 찾는 것
result=""
haming = 0
for i in range(M):
    a,c,g,t=0,0,0,0
    #tmp=[]
    for j in range(N):
        if dna[j][i] =='A':
            a+=1
        elif dna[j][i] =='C':
            c+=1
        elif dna[j][i] =='G':
            g+=1
        else: 
            t+=1
    if max(a,c,g,t) ==a:
        result+='A'
        haming+=c+g+t
    elif max(a,c,g,t) ==c:
        result+='C'
        haming+=a+g+t
    elif max(a,c,g,t) ==g:
        result+='G'
        haming+=c+a+t
    elif max(a,c,g,t) ==t:
        result+='T'
        haming+=c+g+a    
print(result)
print(haming)