프로그래머스 - 자물쇠와 열쇠


프로그래머스 - 자물쇠와 열쇠

12345678910111213141516171819202122232425262728293031323334import copy def solution(key, lock): l = len(lock) k = len(key) lock_array = [[0]*(k*2+l) for _ in range(k*2+l) ] for i in range(k, k+l): for j in range(k, k+l): lock_array[i][j] = lock[i-k][j-k] cnt = 0 while cnt < 4: for i in range(len(lock_array) - k): for j in range(len(lock_array) - k): tmp_lock = copy.deepcopy(lock_array) for o in range(k): for p in range(k): tmp_lock[o+i][p+j] += key[o][p] cnt2 = 0 for o in range(k,k+l): for p in range(k,k+l): if tmp_lock[o][p] == 0 or tmp_lock[o][p] == 2: cnt2 = 1 break if cnt2 == 1: break i..........



원문링크 : 프로그래머스 - 자물쇠와 열쇠