링크
파이썬
def solution(board, moves):
answer = 0
bsave = [0]
for i in moves:
for j in range(len(board[0])):
if board[j][i-1] != 0:
if bsave[-1] == board[j][i-1]:
answer += 2
board[j][i-1] = 0
bsave.pop()
else :
bsave.append(board[j][i-1])
board[j][i-1] = 0
break
return answer
자바
import java.util.Stack;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0;
Stack<Integer> stack = new Stack<>();
stack.push(0);
for (int move : moves) {
for (int j = 0; j < board.length; j++) {
if (board[j][move - 1] != 0) {
if (board[j][move - 1] == stack.peek()) {
stack.pop();
answer += 2;
} else
stack.push(board[j][move - 1]);
board[j][move - 1] = 0;
break;
}
}
}
return answer;
}
}