정리 노트

프로그래머스 크레인 인형 뽑기(Python) 본문

프로그래머스 코딩테스트 연습

프로그래머스 크레인 인형 뽑기(Python)

꿈만 꾸는 학부생 2022. 7. 1. 15:40
728x90

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

역시 1단계 문제라 그런지 가볍게 풀었다. 이번 문제는 스택을 생각하고 문제를 풀면 간단히 풀 수 있다. 바구니를 스택이라 생각하고 스택의 맨 위의 인형과 바로 아래의 인형과의 비교만 하면 되기 때문에 복잡한 연산도 없다.

아래의 코드로 문제를 풀었다.

def solution(board, moves):
    bucket = []
    answer = 0
    for move in moves:
        for r in range(len(board)):
            if board[r][move - 1] != 0:
                bucket.append(board[r][move - 1])
                board[r][move - 1] = 0
                break
        if len(bucket) > 1 and bucket[-1] == bucket[-2]:
            bucket.pop()
            bucket.pop()
            answer += 2
    return answer

프로그래머스 채점 서버에서 돌려본 결과, 최대 1.29ms, 10.4MB만큼의 자원을 소모했다.

728x90