<내 코드>
def solution(board, moves):
answer = 0
basket = []
cnt = 0
for i in moves: # 열
for j in range(len(board)): # 행
dall = board[j][i-1]
if dall == 0:
continue
if dall != 0 and len(basket) == 0:
board[j][i-1] = 0
basket.append(dall)
break
elif dall != 0 and len(basket) != 0:
board[j][i-1] = 0
# 연속으로 같은 값인지 판단
if basket[-1] == dall:
cnt += 2
basket.pop()
else:
basket.append(dall)
break
answer = cnt
return answer
스택을 이용해 현재 인형과 스택의 마지막 요소와 같은지 판단한다.
같으면 인형 2개가 터트려지고 카운트를 2올린다. 다르면 그대로 스택에 추가한다.
반응형
'알고리즘 문제풀기 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 주식가격 - Python, Java(스택,큐) (0) | 2020.10.19 |
---|---|
[2019 카카오 겨울 인턴십] 튜플 - Python (0) | 2020.09.11 |
[2020 카카오 인턴십] 수식 최대화 - Python (0) | 2020.09.11 |
[JavaScript] 프로그래머스 - 다리를 지나는 트럭 (0) | 2020.05.11 |
[JavaScript] 프로그래머스 - 모의고사 (0) | 2020.05.08 |