본문 바로가기
Algorithm/Programmers

[2020 카카오 기출] 자물쇠와 열쇠

by BAYABA 2020. 5. 6.

 

<출처: https://programmers.co.kr/learn/courses/30/lessons/60059>


시뮬레이션 문제입니다.

 

M, N 제한이 작으므로  2*M +N 크기의 2차원 배열을 생성한 뒤 배열 한 가운데에 LOCK 정보를 입력합니다.

그리고 나서 (0,0) 좌표부터 ~ (M + N -1, M + N -1) 좌표를 시작점으로 KEY를 LOCK과 비교해봅니다.

 

0도, 90도, 180도, 270도로 형태를 바꿔가면서 (2*M + N) * 2*M + N) 배열을 전부 탐색해도 시간초과가 나지 않습니다.

 

한 가지 유의할 점은, LOCK과 KEY가 아닌 나머지 배열 칸들은 0/1이 아닌 값으로 구별해줘야 

 

KEY과 LOCK 둘 사이의 관계를 제대로 비교할 수 있습니다.


<코드: https://github.com/cottory/algorithm/blob/master/PROGRAMMERS/kakao25_0506.cpp>