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

SooYeon Yeon·2022년 6월 14일
0

파이썬/알고리즘

목록 보기
19/35

크레인 인형뽑기 게임

def solution(board, moves):
    answer = 0
    blanket = []
    
    for move in moves:
        for line in board:
            if line[move-1] !=0:
                blanket.append(line[move-1])
                line[move-1] = 0
                if len(blanket)>1:
                    if blanket[-2] == blanket[-1]:
                        blanket.pop()
                        blanket.pop()
                        answer+=2
                break
    return answer

풀이

  1. board를 line으로 떼어내어 그 line[move-1]인 값이 비어있는 지를 (line은 첫번째 줄부터시작한다)체크한다.
  2. 비어있지 않으면 blanket에 해당 line[move-1]을 추가해주고 뽑아냈으니 0으로 바꿔준다.
  3. 만약 blanket이 하나이상 들어있는 상태에서, blanket의 가장 끝번째와 끝에서 두번째를 비교해 같은 값이면 둘다 pop해주고 answer을 증가시켜준다.
  4. line[move-1]이 0인 경우에는 칸이 비어있는 것이므로 이어서 for문을 진행해준다.

0개의 댓글