728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/60059
처음부터 다 구현하기는 힘들것같아서...
우선은 자물쇠와 키의 크기가 같을 때
회전만 해서 자물쇠를 따는걸 구현해보았다
def solution(key, lock):
answer = False
return answer
def turn_90(key): #행과 열을 바꿔서 90도 회전
length=len(key)
result=[]
for i in range(length):
tmp=[]
for j in range(length-1,-1,-1):
tmp.append(key[j][i])
result.append(tmp)
return result
def check(key,lock):
answer=True
for i in range(len(key)):
for j in range(len(key)):
lock[i][j]+=key[i][j]
for i in range(len(key)):
for j in range(len(key)):
if lock[i][j]==1:
continue
else:
answer=False
#원상복구
for i in range(len(key)):
for j in range(len(key)):
lock[i][j]-=key[i][j]
return answer
key=[[0,0,0],[0,0,0],[0,0,1]]
lock=[[0,1,1],[1,1,1],[1,1,1]]
for i in range(4):
key=turn_90(key)
if check(key,lock):
print("뚫음")
print(key)
print(lock)
else:
print("NO")
열쇠를 상하좌우 이동시키는게 너무 복잡해서 풀이를 보고 다시 작성해야할것같다
728x90
반응형
'코딩 > 이코테-파이썬' 카테고리의 다른 글
구현: 기둥과 보 설치 (python) (0) | 2022.08.31 |
---|---|
이코테 구현: 자물쇠와 열쇠 (0) | 2022.08.29 |
문자열 압축 (0) | 2022.08.28 |
무지의 먹방라이브 (2) | 2022.08.24 |
알고리즘 기출문제: 그리디2 (1) | 2022.08.17 |
댓글