728x90

https://programmers.co.kr/learn/courses/30/lessons/64061

 

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

[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4

programmers.co.kr

출처 : 프로그래머스

 


def solution(board, moves):
    answer = 0
    basket = [] # 바구니 스택
    for move in moves:
        for i in board:
            if i[move-1] != 0: # 인형이 있다면
                basket.append(i[move - 1])  # 바구니에 넣는다.
                i[move - 1] = 0  # 인형 빼고 빈칸으로 만들어준다.
                # print("before",basket)
                if len(basket) > 1:
                    if basket[-1] == basket[-2]: # 바구니 위에 같은 인형 2개 연속하면
                        answer += 2
                        basket.pop() # 연속한 인형 두개 pop()
                        basket.pop()
                break
    return answer

풀이

moves 배열에 있는 (수-1) 번째 열의 board 값 비교한다.

그곳에 인형이 있다면 그 인형을 바구니에 넣어준다.

바구니에는 연속해서 2개 같은 인형이 있으면 둘 다 삭제해주고 answer+=2 해준다.

+ Recent posts