๐Ÿ—๏ธ Algorithm/โฌ› ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Programmers] [2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‹ญ] [Python] Level1_ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„

Dbswnstjd 2022. 3. 11. 23:36

https://programmers.co.kr/learn/courses/30/lessons/64061?language=python 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„

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

    return answer

์ฒ˜์Œ์— board์— ๋Œ€ํ•ด ์ดํ•ด๊ฐ€ ์•ˆ๋ผ์„œ ๊ทธ๋ ค๋ณด๋ฉด์„œ ์ƒ๊ฐ์„ ํ•ด๋ณด๋‹ˆ ์ƒ๊ฐ๋ณด๋‹ค ๋‹จ์ˆœํ•œ stack์„ ์ด์šฉํ•œ ๋ฌธ์ œ์˜€๋‹ค.