ㅁㄴㅇㄻㄴㅇㄹ

[코딩테스트] 프로그래머스 크레인 인형뽑기 with Python 본문

코딩테스트

[코딩테스트] 프로그래머스 크레인 인형뽑기 with Python

hanbin8269 2021. 5. 20. 10:19

문제 풀이 코드

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

    for move in moves:
        for i, column in enumerate(board):
            if column[move - 1] != 0:
                if len(result_stack) > 0:
                    if (recent := result_stack.pop()) == column[move - 1]:  #1
                        answer += 2
                        board[i][move - 1] = 0
                        break
                    else:
                        result_stack.append(recent)
                result_stack.append(column[move - 1])
                board[i][move - 1] = 0
                break

    return answer

#1

왈러스 연산자를 사용해서 pop 한 값(recent)을 if else 네임스페이스에서 사용할 수 있도록 했다.