패턴찾기

HS·2024년 6월 9일

#패턴찾기

1차원

arr = [3,5,8,5,5,7,5,3,5,8,5]
pt = [3,5,8,5]

def ispt(index):
    for i in range(len(pt)):
        if arr[index+i] != pt[i]:
            return 0
    return 1

cnt = 0
for i in range(len(arr)-len(pt)+1):
    if ispt(i) == 1:
        cnt +=1

print(cnt)

2차원

n,m = map(int,input().split())
lst = [[1,1,1,1],
       [1,0,1,1],
       [1,1,1,1],
       [1,1,0,1],
       [1,0,1,1]]

pt = [[1,1],
      [1,0]]

def ispt(y,x):
    for k in range(2):
        for l in range(2):
            if pt[k][l] != lst[k+y][l+x]:
                return 0
    return 1

cnt = 0
for i in range(4):
    for j in range(3):
        ret = ispt(i,j)
        if ret == 1:
            cnt +=1

print(cnt)
profile
공부하면서 알게 된 여러가지 지식을 아카이빙합니다

0개의 댓글