문제풀이
- moves배열을 x 좌표로, y좌표는 board.length-1로 맨위부터 탐색
- y좌표가 board.length보다 작을때 까지 탐색하며 0이 아니면 Stack.peek과 비교하고 같으면 answer 증가 및 Stack.pop 같지않으면 해당값 Stack.push
코드
import java.util.*;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0;
Stack<Integer> S = new Stack<>();
S.push(0);
for(int k=0;k<moves.length;k++){
int x=0;
int y=moves[k]-1;
int tmp=0;
while(x<board.length){
if(board[x][y]!=0){
tmp=board[x][y];
board[x][y]=0;
break;
}else {
x++;
}
}
if(tmp!=0){
if(S.peek()==tmp){
answer+=2;
S.pop();
}
else S.push(tmp);
}
}
return answer;
}
}```