2024년 2월 26일 알고리즘 문제풀이
문제
난이도
Lv.1
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
def solution(board, moves):
n = len(board)
stk = []
answer = 0
# 열에서 가장 위에 있는 인형을 찾는 함수
# 찾으면 board에서 0으로 바꾸고 반환
def first_target(row):
for i in range(n):
if board[i][row]:
result = board[i][row]
board[i][row] = 0
break
else:
result = False
return result
# 인형이 있을 때, 이미 들어있는 인형과 동일하면 2개 제거, 아니면 추가
for x in moves:
row = x-1
tmp = first_target(row)
if tmp:
if stk:
if stk[-1] == tmp:
stk.pop()
answer += 2
continue
stk.append(tmp)
return answer