일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Expo
- 리액트 네이티브 설치 오류
- react-native
- C++
- node.js
- react native typescript navigation
- react native 타입스크립트
- CSS
- 벡터와 리스트의 차이
- c++ 정보은닉
- stencil buffer
- 싸이월드
- unity stencil buffer
- 스탠실 버퍼 사용
- 리액트 네이티브 맥
- react native typescript navigate
- react native
- react native accessible
- html
- 스탠실 버퍼 시작
- GitHub
- cyworld
- react native mac
- c++ using
- 스탠실 버퍼 튜토리얼
- javascript
- react native typescript
- node
- react native ios 기기 연결
- react
Archives
- Today
- Total
혀니의 이거저거 뿌시기
1969 DNA (파이썬 / 브루트포스) 본문
728x90
1969번: DNA
DNA란 어떤 유전물질을 구성하는 분자이다. 이 DNA는 서로 다른 4가지의 뉴클레오티드로 이루어져 있다(Adenine, Thymine, Guanine, Cytosine). 우리는 어떤 DNA의 물질을 표현할 때, 이 DNA를 이루는 뉴클레오
www.acmicpc.net
브루트포스문제..
N, M = map(int, input().split())
lst = []
result = []
res = 0
acgt = [0 for i in range(26)] #A,C,G,T
for i in range(N):
lst.append(input())
for i in range(M):
for j in range(N):
acgt[ord(lst[j][i]) - ord('A')] += 1
result.append(chr(acgt.index(max(acgt)) + ord('A')))
acgt = [0 for i in range(26)]
for i in range(N):
for j in range(M):
if (result[j] != lst[i][j]):
res += 1
print(('').join(map(str, result)))
print(res)
문제를 잘못 이해해서 다시 이해하기까지 시간이 좀 걸림
사실 더 깔끔히 풀고싶었는데 다른 풀이를 찾아봐도 거기서 거기더라..
그래서 그냥 내 코드에 대한 설명을 하고 알아둬야할 지식을 알아두고자 한다.
<코드 설명>
1.우선 같은값이 있으면 사전순으로 가장 먼저 오는 것을 출력하라고 했으므로 알파벳을 담을 수 있는 0으로 채워진 빈 리스트를 만듦
2.주어진 dna가닥들에서 각 줄에서 가장 많이 나온 알파벳들로 구성된 것이 우리가 구해야하는 답이므로 해당하는 알파벳이 나올 때마다 list에서 수를 증가시켜줌
3.채워진 list에서 가장 큰 값의 인덱스의 값을 구해서 거기에 'A'라는 char값을 더하면 알파벳이 되므로 그 상태로 result에 넣어줌
4.각 dna가닥들을 내가 만든 result 와 비교하면서 알파벳이 다를 때마다 더해서 최종적인 숫자까지 구해줌
<알아둬야 할 요소>
1.ord('A') => char 형태를 int로 바꾸기 위해 필요
2.chr(65) => int형태를 char로 바꾸기 위해 필요
3.lst.index(max(lst)) => 리스트에서 가장 값이 큰 항목의 인덱스값을 구해줌
728x90
'알고리즘 공부(C++)' 카테고리의 다른 글
백준 12782 비트 우정지수 (파이썬/그리디) (1) | 2022.10.08 |
---|---|
10994 별 찍기 - 19 (파이썬/재귀) (0) | 2022.10.06 |
백준 1021 회전하는 큐 (파이썬 / 자료구조) (0) | 2022.09.28 |
백준 1735 분수 합 파이썬 (0) | 2022.09.18 |
백준 17609 회문 (파이썬 / 문자열) (0) | 2022.09.15 |