https://programmers.co.kr/learn/courses/30/lessons/60059?language=python3
Solution
구현해야할 것
- 열쇠 회전
- 열쇠가 자물쇠에 걸쳐있을 때의 최대 크기로 또 다른 배열 생성
- 열쇠 이동
주의할 점
- 자물쇠 영역 바깥에서의 열쇠 상태는 영향이 없다.
- 자물쇠 영역 내에서는 열쇠의 돌기와 자물쇠의 홈 부분이 정확히 일치하여야 한다.
- 열쇠의 돌기와 자물쇠의 돌기가 만나서는 안된다.
- 자물쇠가 비어있는 곳이 없어야 한다.
자물쇠와 열쇠의 크기가 작으므로 모든 경우를 탐색한다. 그리고 이 문제의 경우 열쇠가 자물쇠에 걸칠 수 있기 때문에 배열을 하나 더 만들어 주어야 한다.
위와 같이 왼쪽 위 부터 모든 경우에 걸칠 수 있는 최대 크기로 배열을 만들어준다. 이때 배열의 크기는 n+2(m-1) X n+2(m-1) 이다. 그리고 생성한 배열 중앙에 자물쇠의 상태를 넣어준다. 그리고 열쇠를 한 칸씩 이동할 때마다 배열 중앙에 있는 자물쇠의 합이 n X n이 되는지 검사한다. 나는 테스트케이스에 너무 집착한 나머지 자물쇠의 합이 9로 되는지만 검사하고 계속 틀렸었다. 진짜 다 풀어 놓은걸 이 놈 하나 때문에 시간을 얼마나 버렸는지😡
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 파일명 정렬 / Python / 2018 KAKAO BLIND RECRUITMENT (0) | 2020.06.21 |
---|---|
[프로그래머스] 크레인 인형뽑기 게임 / Python / 2019 KAKAO 겨울 인턴십 (0) | 2020.05.12 |
[프로그래머스] 압축 / Python / 2018 KAKAO BLIND RECRUITMENT (0) | 2020.04.21 |
[프로그래머스] 프렌즈4블록 / Python / 2018 KAKAO BLIND RECRUITMENT (0) | 2020.04.19 |
[프로그래머스] 뉴스클러스터링 / Python / 2018 KAKAO BLIND RECRUITMENT (0) | 2020.04.16 |
,