def solution(board, moves):
answer = 0
N = len(board)
pop_lst = []
for i in moves:
for j in range(N):
if board[j][i-1] != 0:
if pop_lst:
if pop_lst[-1] == board[j][i-1]:
answer += 2
pop_lst.pop()
else:
pop_lst.append(board[j][i-1])
else:
pop_lst.append(board[j][i-1])
board[j][i-1] = 0
break
return answer
2차원 배열을 순회하며 인형을 뽑는다. 만약 인형이 존재 할 때 인형을 뽑았던 리스트의 마지막과 현재 뽑은 인형을 비교하여 같다면 answer + 2 를 해주고 뽑았던 인형의 리스트의 마지막 원소를 꺼내준다. 뽑았다면 다음 차례로 넘어가야 하기 때문에 break
'Programmers' 카테고리의 다른 글
[프로그래머스 / 파이썬 풀이] 소수 만들기 (0) | 2023.02.02 |
---|---|
[프로그래머스 / 파이썬 풀이] 예산 (0) | 2023.02.01 |
[프로그래머스 / 파이썬 풀이] 체육복 (0) | 2023.01.30 |
[프로그래머스 / 파이썬 풀이] 실패율 (0) | 2023.01.27 |
[프로그래머스 / 파이썬 풀이] [1차] 비밀지도 (0) | 2023.01.27 |