프로그래머스 크레인 인형뽑기

최준근·2021년 5월 23일
0

Python알고리즘

목록 보기
9/11

문제
게임 화면의 격자의 상태가 담긴 2차원 배열 board와 인형을 집기 위해 크레인을 작동시킨 위치가 담긴 배열 moves가 매개변수로 주어질 때, 크레인을 모두 작동시킨 후 터트려져 사라진 인형의 개수를 return 하도록 solution 함수를 완성해주세요.

[제한사항]
board 배열은 2차원 배열로 크기는 "5 x 5" 이상 "30 x 30" 이하입니다.
board의 각 칸에는 0 이상 100 이하인 정수가 담겨있습니다.
0은 빈 칸을 나타냅니다.
1 ~ 100의 각 숫자는 각기 다른 인형의 모양을 의미하며 같은 숫자는 같은 모양의 인형을 나타냅니다.
moves 배열의 크기는 1 이상 1,000 이하입니다.
moves 배열 각 원소들의 값은 1 이상이며 board 배열의 가로 크기 이하인 자연수입니다.


첫 풀이
먼저 스택을 바로 떠올렸다. 인형뽑기기계로 스택에서 하나씩 제거하면 되겠다 싶었다.
내가 푼 코드는 많이 복잡하고 자꾸 오류가나서 1시간 가량 생각을 하였다.
하지만, 결국 검색..


변수 두개를 주고
moves는 크레인기계 board 인형이 들어있는 2차원배열이다.
보드컬럼이 0이 아니면 버켓에 추가 (인형뽑음)
뽑은 컬럼은 0처리해주고버켓에 인형이 2개이상 들어있고, 인형 두개가 같다면
팝 두번으로 삭제.
이후 answer에 2(없앤인형 개수)를 더해준다
리턴 answer으로 정답 출력

profile
느려도 좋으니 꾸준하게

0개의 댓글