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

devheyrin·2022년 6월 3일
0

codingtest

목록 보기
50/65

문제 링크

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

코드

def solution(board, moves):
    basket = []
    cnt = 0
    for move in moves:
        move -= 1
        for i in range(len(board)):
            if board[i][move] == 0:
                continue
            basket.append(board[i][move])
            board[i][move] = 0
            break
        if len(basket) <= 1:
            continue
        while True:
            if len(basket) <= 1 or basket[-1] != basket[-2]:
                break
            basket = basket[:-2]
            cnt += 2
            
    return cnt

풀이 설명

바구니 안에 담긴 인형들이 같은지 확인하는 while 문에서 실수가 있었다.
len(basket)을 확인하는 코드 없이 실행하니 [4] 처럼 원소가 하나만 남는 경우가 발생했던 것이다. basket의 원소가 두개 이상일 때에만 원소를 삭제하도록 수정해주었다.

profile
개발자 헤이린

0개의 댓글