honey_pot

[python] 크레인 인형뽑기 게임 본문

문제 풀이

[python] 크레인 인형뽑기 게임

_tera_ 2021. 9. 9. 22:27

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
    stack = []
    n = len(board)
    for i in moves:
        for b in range(n):
            if board[b][i-1] >0:
                stack.append(board[b][i-1])
                board[b][i-1] = 0
                
                if stack[-1:] == stack[-2:-1]:
                    stack.pop(-1)
                    stack.pop(-1)
                    answer += 2
                break
    return answer

stack으로 옮긴 인형을 board에서 0 처리해야 중복으로 뽑지 않는다.

그리고 다 옮긴 후에 stack에서 인형을 터뜨리는게 아니라 두개 이상이면 바로바로 없애야 하므로 바로 if문으로

stack 내용물을 비교해야 한다.

pop 대신 slicing 해도 되는데 pop이 더 편해서 pop으로 했다.

break를 잊지 말자

'문제 풀이' 카테고리의 다른 글

[python] 소수 만들기  (0) 2021.09.09
[python] 체육복  (0) 2021.09.09
[python] 로또의 최고 순위와 최저 순위  (0) 2021.09.09
[python] 비밀지도  (0) 2021.09.09
[python] 폰켓몬  (0) 2021.09.08
Comments