프로그래머스/Lv. 1

51. 크레인 인형뽑기 게임

Seohyeong Lee 2024. 7. 16. 23:36

유형 : 구현

풀이 시간 : 10분 이하

 

def solution(board, moves):
    answer = 0
    bucket = []
    boardstack = []
    for i in range(len(board[0])):
        tmp = []
        for j in range(len(board)):
            if board[j][i] != 0:
                tmp.append(board[j][i])
        boardstack.append(tmp)
    for mv in moves:
        if boardstack[mv-1]:
            curr = boardstack[mv-1].pop(0)
            if bucket:
                if bucket[0] == curr:
                    del bucket[0]
                    answer += 2
                else:
                    bucket.insert(0, curr)
            else:
                bucket.insert(0, curr)
    return answer

1. board line별로 인형을 담은 boardstack을 만든다. 

2. 각 move에 대해 인형 삭제 / bucket에 append 수행