알고리즘/프로그래머스 문제풀이

[프로그래머스] lv.1 크레인 인형 뽑기 게임 풀이

감자156 2023. 10. 27. 20:01
반응형

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 풀이

가장 꼭대기에 있는 인형을 뽑아서 stack에 하나씩 쌓고, 마지막 두개가 같아지면 stack에서 삭제하는 식으로 단순히 구현.

 

코드

def solution(board, moves):
    stack = []
    cnt = 0
    for move in moves:
        top_doll = None
        for i in range(len(board)): #find top_doll
            if board[i][move-1] != 0:
                top_doll = board[i][move-1]
                board[i][move-1] = 0
                break
                
        if top_doll:
            stack.append(top_doll)
            if len(stack) >= 2 and stack[-1] == stack[-2]:
                del stack[-2:]
                cnt += 2   
            
    return cnt
반응형