공부하고 기록하는, 경제학과 출신 개발자의 노트

프로그래밍/코딩테스트 문제풀이

[Python] 프로그래머스. 2019 카카오 recruit - 블록 게임 (Level 4)

inspirit941 2020. 5. 19. 19:28
반응형

https://programmers.co.kr/learn/courses/30/lessons/42894

 

코딩테스트 연습 - 블록 게임

[[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,4,0,0,0],[0,0,0,0,0,4,4,0,0,0],[0,0,0,0,3,0,4,0,0,0],[0,0,0,2,3,0,0,0,5,5],[1,2,2,2,3,3,0,0,0,5],[1,1,1,0,0,0,0,0,0,5]] 2

programmers.co.kr

구현까지 시간이 오래 걸렸던 문제.

검은 블록을 채울 수 있는 모든 공간에 검은 블록을 채우고,

검은 블록과 설치된 블록을 합쳤을 때 직사각형 블록이 나올 수 있는지를 검사한다.

 

특징이라면, 제거 가능한 직사각형 블록이 되기 위해서는

직사각형 밑변에 해당하는 부분은 반드시 설치된 블록이어야 한다는 것.

그러므로, 배열 가장 아래에서부터 순회하며 '설치된 블록'의 길이가 2 또는 3일 경우 직사각형 블록 여부를 검사하는 식으로 해결했다.

 

 

반응형