[백준] 12891번: DNA 비밀번호
2023. 5. 1. 15:57ㆍ개발 일기/코딩테스트 준비
책: Do It 알고리즘 코딩테스트 Python편
문제:
009 DNA 비밀번호
https://www.acmicpc.net/problem/12891
12891번: DNA 비밀번호
평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA”
www.acmicpc.net
코드:
check = [0] * 4
def remove(c):
if c == 'A':
check[0] -= 1
elif c == 'C':
check[1] -= 1
elif c == 'G':
check[2] -= 1
else:
check[3] -= 1
def add(c):
if c == 'A':
check[0] += 1
elif c == 'C':
check[1] += 1
elif c == 'G':
check[2] += 1
else:
check[3] += 1
S, P = map(int, input().split())
L = str(input())
AC, CC, GC, TC = map(int, input().split())
cnt = 0
for i in range(len(L)):
add(L[i])
#print(str(check[0]) + ',' + str(check[1]) + ',' +str(check[2]) + ',' +str(check[3]))
if i + 1 -(P-1) > 0:
if check[0] >= AC and check[1] >= CC and check[2] >= GC and check[3] >= TC:
cnt += 1
remove(L[i + 1 - P])
print(cnt)
'개발 일기 > 코딩테스트 준비' 카테고리의 다른 글
[프로그래머스] 추억 점수 C++ (0) | 2023.05.05 |
---|---|
[프로그래머스] 달리기 경주 C++ (0) | 2023.05.05 |
[백준] 1940번: 주몽 (0) | 2023.04.29 |
[백준] 2018번: 수들의 합 5 (0) | 2023.04.29 |
[백준] 11659: 구간 합 구하기 4 (0) | 2023.04.28 |