프로그래머스 크레인 인형뽑기 게임 파이썬

안상철·2023년 5월 8일
0
from collections import deque
def solution(board, moves):
    
    answer = 0
    
    # 뽑은 인형
    visited = []
    
    # 뽑을 인형의 열위치 queue
    new_deque = deque(moves)
    
    for i in range(len(moves)):
    	
        # 뽑을 인형의 열 위치
        cur_num = new_deque.popleft()
        
        for j in range(len(board)):
        	
            # 이번 행 / 열에 인형이 있으면 뽑아서 뽑은 인형에 담음
            if board[j][cur_num - 1] != 0:
                visited.append(board[j][cur_num - 1])
                board[j][cur_num - 1] = 0
                break
             
            # 뽑을 인형이 없으면 넘어감 
            else:
                continue
                
        # 뽑은 인형의 갯수가 두 개 이상일 때 만        
        if len(visited) > 1:
        
        	# 마지막 두 개의 인형이 같은 인형이면
            if visited[-1] == visited[-2]:
            
            	# 인형 두 개를 삭제하고
                visited.pop(-1)
                visited.pop(-1)
                
                # 두 개가 사라지므로 +2씩
                answer +=2
        
    return answer
profile
웹 개발자(FE / BE) anna입니다.

0개의 댓글