일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- Python
- 우선순위큐
- appendleft
- BFS
- C#강의
- 인프런
- JPA
- Java
- 누적합
- 1일1솔
- LCM
- deque
- 그리디 알고리즘
- 브루투포스
- popleft
- 파이썬
- DP
- spring
- 완전탐색
- 합 구하기
- mvc
- pypy3
- 연관관계
- 백준
- python3
- 프로그래머스
- 소수찾기
- 소수판별
- unity
- c#
Archives
- Today
- Total
jae_coding
(백준 완전탐색 문제풀이) 1969번 DNA 본문
반응형
문제
코드
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
s = list(list(input().strip()) for _ in range(n))
# hamming distance: 각 위치의 문자가 다른 것의 개수
hamming_distance = 0
DNA = [[] for _ in range(m)]
DNA_s = ""
for i in range(m):
for j in range(n):
DNA[i].append(s[j][i])
for i in range(m):
a = DNA[i].count('A')
t = DNA[i].count('T')
g = DNA[i].count('G')
c = DNA[i].count('C')
max_count = max(a, t, g, c)
if a == max_count:
DNA_s += 'A'
elif c == max_count:
DNA_s += 'C'
elif g == max_count:
DNA_s += 'G'
elif t == max_count:
DNA_s += 'T'
print(DNA_s)
for i in range(n):
compare_s = s[i]
for j in range(m):
if DNA_s[j] != compare_s[j]:
hamming_distance += 1
print(hamming_distance)
반응형
'알고리즘 문제 > 완전탐색(Brute Force)' 카테고리의 다른 글
(백준 완전탐색 문제풀이) 18511번 큰 수 구성하기 (0) | 2022.07.26 |
---|---|
(백준 완전탐색 문제풀이) 2422번 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 (0) | 2022.07.25 |
(백준 완전탐색 문제풀이) 15721번 번데기 (0) | 2022.07.22 |
(백준 완전탐색 문제풀이) 18312번 시각 (0) | 2022.07.22 |
(백준 완전탐색 문제풀이) 19532번 수학은 비대면강의입니다. (0) | 2022.07.22 |
Comments