[Programmers] P64061 크레인 인형뽑기 게임

Question

Language: Python

해당 문제는 stack을 활용해서 이전에 뽑은 인형을 저장하면서, 같은 인형이 2개 두개 연달아서 들어가게되는 경우 이를 제거해주는 방식으로 문제를 풀 수 있다.

Solution

def select_doll(board,col):
    for row in range(len(board)):
        if board[row][col-1]!=0:
            value=board[row][col-1]
            board[row][col-1]=0
            return value
    return None


def solution(board, moves):
    answer = 0
    prev_dolls=[]
    for move in moves:
        doll=select_doll(board,move)
        if doll == None:
            continue
            
        if len(prev_dolls)!=0 and doll==prev_dolls[-1]:
            prev_dolls.pop()
            answer+=2 
        else:
            prev_dolls.append(doll)

    return answer

댓글남기기