# 1. NxN 크기 크레인/ 오른쪽에는 바구니
# 2. 인형은 차곡차곡 쌓여잇음
# 3. 같은 모양 인형 두개가 바구니에 연속 -> 터지면서 바구니에서 사라짐
# 4. 게임 화면의 격자 상태 (2차원 배열 board)
# 5. 크레인을 작동시킨 위치가 담긴 배열 moves
# 6. 크레인 작동 후 터뜨려진 인형 개수 return
# stack으로 pop 하면풀릴 듯
# 0 은 빈 칸
def solution(board, moves):
answer = 0
cnt=0
basket=[]
for crain_num in moves:
for i in range(len(board)):
if i+1==crain_num: # 인형 제거해 주려는 열을 찾기
for j in range(len(board)): # 열 전체를 탐색
if board[j][i]!=0: # 인형이 있는 경우 (0이 아님)
doll=board[j][i]
if len(basket)!=0 and basket[-1]==doll:
cnt+=2
basket=basket[:-1]
break
else:
basket.append(doll)
board[j][i]=0 # 이미 뽑은 인형은 0이 됨.
break
answer=cnt
return answer
- 테스트 케이스 10개 중 3개 통과 코드 (이유 모르겠음)