Programmers

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

Hoo_Dev 2023. 1. 31. 09:49
def solution(board, moves):
    answer = 0
    N = len(board)
    pop_lst = []
    for i in moves:
        for j in range(N):
            if board[j][i-1] != 0:
                if pop_lst:
                    if pop_lst[-1] == board[j][i-1]:
                        answer += 2
                        pop_lst.pop()
                    else:
                        pop_lst.append(board[j][i-1])
                else:
                    pop_lst.append(board[j][i-1])
                board[j][i-1] = 0
                break

    return answer

2차원 배열을 순회하며 인형을 뽑는다. 만약 인형이 존재 할 때 인형을 뽑았던 리스트의 마지막과 현재 뽑은 인형을 비교하여 같다면 answer + 2 를 해주고 뽑았던 인형의 리스트의 마지막 원소를 꺼내준다. 뽑았다면 다음 차례로 넘어가야 하기 때문에 break