n, m = map(int, input().split())
dna = []
for _ in range(n) :
dna.append(input())
name = []
for i in range(m) :
new = {'A' : 0, 'C' : 0, 'G' : 0, 'T' : 0}
for j in range(n) :
new[dna[j][i]] += 1
name.append((max(new, key=new.get)))
dnaName = ''.join(name)
count = 0
for d in dna :
for i in range(m) :
if d[i] != dnaName[i] :
count += 1
print(dnaName)
print(count)
앞에서 풀 때도 문제를 헷갈렸는데 이번에도 이해못하고 풀었더니 시간만 날렸다...
이 문제는 입력한 DNA에서 구하는 게 아니라, 입력값을 바탕으로 새로운 DNA 이름을 만드는 문제다 !
DNA 이름이 A, T, G, C으로 이루어져 있으므로 딕셔너리를 이용해서 입력된 DNA 값을 통해 새로운 DNA 이름을 만들었다.
그리고 새로운 이름과 입력된 DNA 이름을 비교하면서 Hamming Distance를 구하면 된다.