-코드
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)
처음에 문제를 잘못 이해해서 잘못 짜고 다시 해결을 하다가 짧게 될 거 같아서 고민했으나 잘 되지 않아서 일일이 계산을 다하는 코드로 짰습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 11068번 회문인 수 (0) | 2022.02.18 |
---|---|
[백준/파이썬] 11098번 첼시를 도와줘! (0) | 2022.02.18 |
[백준/파이썬] 10801번 카드게임 (0) | 2022.02.17 |
[백준/파이썬] 2947번 나무 조각 (0) | 2022.02.16 |
[백준/파이썬] 5598번 카이사르 암호 (0) | 2022.02.16 |