from itertools import product
user_input = '66'
listA = []
listB = []
count = 0
for i in range(1,len(user_input)+1) :
listA+=list(product([3,6,9],repeat=i))
for i in listA :
totalStr = ''
for j in i :
totalStr+=str(j)
if int(user_input) >= int(totalStr) :
count+=1
print(count)
import numpy as np
mineField = [[1,0,0,1,0],
[0,1,0,0,1],
[0,0,0,1,0],
[0,0,0,0,0],
[0,0,1,0,0]]
fieldSize = 5
fieldFind = 3
sum = 0
mineField = np.array(mineField,int)
for i in range(fieldSize-fieldFind+1) :
for j in range(fieldSize-fieldFind+1) :
v = mineField[0+i:3+i,0+j:3+j]
count = v.sum()
if sum < count :
sum = count
print(sum)
A_str = 'CAPCAK'
B_str = 'ACAYKP'
lcs = [[0 for i in range(len(A_str)+1)] for j in range(len(B_str)+1)]
for i in range(1,len(A_str)+1) :
for j in range(1, len(B_str)+1) :
if A_str[i-1] == B_str[j-1] :
lcs[i][j]= lcs[i-1][j-1]+1
else :
lcs[i][j]=max(lcs[i][j-1],lcs[i-1][j])
for i in lcs :
print(i)
출력 : 0 A C A Y K P
0 [0, 0, 0, 0, 0, 0, 0]
C [0, 0, 1, 1, 1, 1, 1]
A [0, 1, 1, 2, 2, 2, 2]
P [0, 1, 1, 2, 2, 2, 3]
C [0, 1, 2, 2, 2, 2, 3]
A [0, 1, 2, 3, 3, 3, 3]
K [0, 1, 2, 3, 3, 4, 4]
def roundTable(m,n) :
foodList = [i for i in range(1,n+1)]
idx = 0
while len(foodList) > 2 :
# 첫번째 음식을 먹음
foodList.pop(idx)
# 요소의 삭제와 함께 인덱스 1을 빼주는 게 포인트
idx+=(m-1)
if idx > len(foodList) -1 :
idx -= len(foodList)
print(idx)
foodList.pop(idx)
idx-=1
return foodList
print(roundTable(3,6))
def circuitList(list,n) :
# 리스트 얕은 복사
l = list[:]
for i in range(n) :
l.insert(0,l[-1])
del l[-1]
return l
def distance(a,b) :
disList = []
for i in range(len(a)) :
disList.append(abs(a[i]-b[i]))
return disList
n = 2
lBefore = [10,20,25,27,34,35,39]
lAfter = circuitList(lBefore,n)
lminus = distance(lBefore,lAfter)
idx = lminus.index(min(lminus))
print("인덱스 : ",idx)
print("값 : " , lBefore[idx],lAfter[idx])
from itertools import combinations
inputList = ['ㄱ','ㄴ','ㄷ','ㄹ']
l = list(combinations(inputList,3))
resultList = []
for i in l :
str = ''
for j in i :
str+=j
resultList.append(str)
print(resultList,len(resultList),sep="\n")