https://programmers.co.kr/learn/courses/30/lessons/64061
void pushStack(int val, stack<int>& s, int& answer){
if(s.empty()){
s.push(val);
} else{
if(s.top() == val) {
answer += 2;
s.pop();
}else {
s.push(val);
}
}
}
int solution(vector<vector<int>> board, vector<int> moves) {
int answer = 0;
stack<int> s;
for(int move =0; move < moves.size(); ++move) {
int moveVal = moves[move] - 1;
for(int col = 0; col < board.size(); ++col) {
if(board[col][moveVal] != 0) {
pushStack(board[col][moveVal], s, answer);
board[col][moveVal] = 0;
break;
}
}
}
return answer;
}