알고리즘 공부/프로그래머스

(Python)프로그래머스 코딩테스트 연습 - 2019 카카오 개발자 겨울 인턴십 - 크레인 인형뽑기 게임

HRuler 2021. 11. 15. 12:51

1. 문제

https://programmers.co.kr/learn/courses/30/lessons/64061?language=python3

 

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

[[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

2. 나의 풀이

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

3. 다른 사람 풀이

def solution(board, moves):
    stacklist = []
    answer = 0

    for i in moves:
        for j in range(len(board)):
            if board[j][i-1] != 0:
                stacklist.append(board[j][i-1])
                board[j][i-1] = 0

                if len(stacklist) > 1:
                    if stacklist[-1] == stacklist[-2]:
                        stacklist.pop(-1)
                        stacklist.pop(-1)
                        answer += 2     
                break

    return answer