문제출처 : 프로그래머스
문제소개
크레인 인형뽑기
- 5x5 ~ 30x30 틀(board)에 담긴 인형을 바구니(bucket)로 옮긴다.
- board에서 가장 위에 있는 인형만 옮길 수 있다.
- bucket에 쌓인 인형 중 같은 모양의 인형이 2개가 붙게되면 2개의 인형은 사라진다.
- 사라진 인형의 갯수를 return 하는 프로그램을 작성하시오.
입력)
board = [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]]
moves = [1,5,3,5,1,2,1,4]
출력)
result = 4

코드
def solution(board, moves):
bucket = []
answer = []
for move in moves:
for i in range(len(board)):
if board[i][move-1] > 0:
bucket.append(board[i][move-1])
board[i][move-1] = 0
if bucket[-1:] == bucket[-2:-1]:
answer += bucket[-1:]
bucket = bucket[:-2]
break
return len(answer)*2
board = [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]]
moves = [1,5,3,5,1,2,1,4]
solution(board, moves)
4