본문 바로가기

CodingTest/Level1

[연습] 코딩테스트 연습 - 크레인 인형뽑기 게임

코딩테스트 연습


  • programmers.co.kr
  • 2019 카카오 개발자 겨울인턴십 문제
  • 크레인 인형뽑기 게임

def solution(board, moves):
    block = {}
    for i in range(len(board[0])):
        tmp = []
        for x in board[::-1]:
            if x[i] != 0:
                tmp += [x[i]]
        block[i+1] = tmp

    stack = []
    answer = 0
    for x in moves:
        if len(block[x]) == 0:
            continue
        catch = block[x].pop(-1)
        if len(stack) != 0 and stack[-1] == catch:
            stack.pop(-1)
            answer += 2
        else:
            stack += [catch]

    return(answer)
반응형