728x90
반응형
https://www.acmicpc.net/problem/1969
문제해결
- 각 자리의 알파벳을 보고 가장 많은 알파벳이 Hamming Distance이 가장 작은 DNA가 된다는 것은 쉽게 알 수 있다.
- 따라서 각 자리별로 가장 많은 알파벳과 그 알파벳이 아닌 것들의 개수 합을 구하면 된다.
CODE
n, m = map(int, input().split())
graph = [list(str(input().rstrip())) for _ in range(n)]
ans_1=''
ans_2=0
for j in range(m):
memo = {'T':0, "A":0, "G":0, "C":0}
for i in range(n):
memo[graph[i][j]] += 1
target = 0
m = ''
for i in ['A','C','G','T']:
if memo[i] > target:
target = memo[i]
m = i
ans_2 += n-target
ans_1 = ans_1 + m
print(ans_1)
print(ans_2)
728x90
반응형
'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글
[python] 백준 5397 키로거 (0) | 2023.03.15 |
---|---|
[python] 백준 2841 외계인의 기타 연주 (0) | 2023.03.15 |
[python] 백준 5557 1학년 (1) | 2023.03.15 |
[python] 백준 17626 Four Squares (0) | 2023.03.14 |
[python] 백준 1700 멀티탭 스케줄링 (0) | 2023.03.14 |
댓글