백준 문제 링크
DNA
- DNA 정보를 리스트 변수 data에 넣어준다.
- 이제 각 열을 기준으로 DNA 정보를 살펴볼 것인데,
아래를 참고하면 좋다.
- 해당하는 열에서 가장 많이 등장한 DNA를 word에 저장할 것이다.
- 만약 'A','C','G','T'가 등장한 횟수가 모두 같다면,
사전 순으로 정렬하여 해당하는 DNA를 word에 저장할 것이다.- 마지막으로, word가 완성되었다면,
word를 data의 단어들과 비교하여 다른 DNA가 있다면
answer += 1 하고, answer를 출력하면 끝!
N,M = map(int, input().split())
data = []
for _ in range(N):
data.append(list(input()))
word = ''
for j in range(M):
dic = {'A' : 0, 'T' : 0, 'G' : 0, 'C' : 0}
for i in range(N):
if data[i][j] in dic:
dic[data[i][j]] += 1
sorted_dic = sorted(dic.items(), key=lambda x: (-x[1], x[0]))
word += sorted_dic[0][0]
answer = 0
for i in range(N):
for j in range(M):
if word[j] != data[i][j]:
answer += 1
print(word)
print(answer)