본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬] 1969번 DNA

by 현장 2022. 2. 17.

-코드

n, m = map(int, input().split())
dna = [input() for _ in range(n)]
result = ''
cnt = 0
for i in range(m):
    a, c, g, t = 0, 0, 0, 0
    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
    MAX = max(a, c, g, t)
    if MAX == a:
        result += 'A'
        cnt += c + g + t
    elif MAX == c:
        result += 'C'
        cnt += a + g + t
    elif MAX == g:
        result += 'G'
        cnt += a + c + t
    else:
        result += 'T'
        cnt += a + c + g
print(result)
print(cnt)

처음에 문제를 잘못 이해해서 잘못 짜고 다시 해결을 하다가 짧게 될 거 같아서 고민했으나 잘 되지 않아서 일일이 계산을 다하는 코드로 짰습니다.