💡 풀이
- 해당 칸이 0이 아니면
-stack이 비어 있지 않고 맨 위의 인형과 같으면 pop 후 +2
-맨 위의 인형과 다르면 추가 add
- 인형을 뽑고 0으로 리셋 후 해당 위치는 다 뽑았으므로 break
(😓 처음에 break 깜빡해서 헤맸음)
import java.util.*;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0;
Stack<Integer> stack = new Stack<>();
int n = board.length;
for(int move : moves){
for(int i = 0; i<n; i++){
int check = board[i][move-1];
if (check != 0) {
if (!stack.isEmpty() && stack.peek() == check) {
stack.pop();
answer+=2;
} else {
stack.add(check);
}
board[i][move-1] = 0;
break;
}
}
}
return answer;
}
}