알고리즘/프로그래머스

[프로그래머스] Level1, 크레인 인형뽑기 게임 (Python)

wookcode 2021. 6. 11. 11:08
728x90
반응형

문제

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

 

코드

def solution(board, moves):
    answer = 0
    result = []
    for i in moves:
        for j in range(len(board)):
            if board[j][i-1] != 0:
                result.append(board[j][i-1])
                board[j][i-1] = 0
                break
        for j in range(len(result)-1):
            if result[j] == result[j+1]:
                result.pop()
                result.pop()
                answer += 2
                break
    return answer

크레인이 움직이는 배열을 담고있는 moves를 for문으로 돌려 열로 지정하고 (moves에 1부터 들어가있는데 인덱스에 넣을때는 -1을 해준다.)

 

board에 행을 순서대로 탐색해 board[j][i-1]이 0일 경우에는 새로만든 result 리스트에 넣어주고 board에서는 뺴줘야 하기 때문에 0으로 바꿔준다.

 

그리고 result에 같은값이 연속으로 있을경우에는 두 값을 바로 없애주고 answer에 2를 더해주면 된다.

 

반응형