Coding Test/Python
[240520] 코딩테스트 문제풀이
민듀키티
2024. 5. 20. 12:11
1. 방번호
https://www.acmicpc.net/problem/1475
from collections import Counter
import math
A = list(map(int, input()))
A_counter = Counter(A)
A_count_list = list(A_counter.items())
max_number = 0
sixnine = 0
for i in range(len(A_count_list)) :
if A_count_list[i][0] == 6 :
sixnine += A_count_list[i][1]
elif A_count_list[i][0] == 9:
sixnine += A_count_list[i][1]
else :
max_number= max(max_number, A_count_list[i][1])
max_number = max(max_number, math.ceil(sixnine/2))
print(max_number)
2. 쉽게 푸는 문제
https://www.acmicpc.net/problem/1292
n,m = map(int, input().split())
A = list()
while len(A) < m :
for i in range(1,m+1) :
if len(A) > m :
break
for j in range(i) :
A.append(i)
answer = 0
for i in range(n-1,m) :
answer += A[i]
print(answer)
3. 수 이어쓰기
n = int(input())
answer = ''
for i in range(n) :
answer += str(i+1)
print(len(answer))
4. 문서검색
https://www.acmicpc.net/problem/1543
n = list(input())
m = list(input())
index = 0
count = 0
while index + len(m) <= len(n) :
TF = True
for i in range(len(m)) :
index_one = index + i
if n[index_one] != m[i] :
TF = False
break
if TF :
index += len(m)
count += 1
else :
index += 1
print(count)
5. DNA 비밀번호
- 노가다 코드임 ㅜㅜ
https://www.acmicpc.net/problem/12891
n,m = map(int, input().split())
A = list(input())
length = list(map(int, input().split()))
ACGT = [0,0,0,0]
count = 0
# 초기값
for i in range(m) :
if A[i] == 'A' :
ACGT[0] += 1
elif A[i] == 'C' :
ACGT[1] += 1
elif A[i] == 'G' :
ACGT[2] += 1
elif A[i] == 'T' :
ACGT[3] += 1
count_4 = 0
for i in range(4) :
if length[i] <= ACGT[i] :
count_4 += 1
if count_4 == 4 :
count += 1
for i in range(1,n-m+1) :
start_index = A[i-1]
end_index = A[i+m-1]
if start_index == 'A' :
ACGT[0] -= 1
elif start_index == 'C' :
ACGT[1] -= 1
elif start_index == 'G' :
ACGT[2] -= 1
elif start_index == 'T' :
ACGT[3] -= 1
if end_index == 'A' :
ACGT[0] += 1
elif end_index == 'C' :
ACGT[1] += 1
elif end_index == 'G' :
ACGT[2] += 1
elif end_index == 'T' :
ACGT[3] += 1
count_4 = 0
for i in range(4):
if length[i] <= ACGT[i]:
count_4 += 1
if count_4 == 4:
count += 1
print(count)