https://programmers.co.kr/learn/courses/30/lessons/64061
import java.util.*;
class Solution {
Stack<Integer> st = new Stack<>();
public int solution(int[][] board, int[] moves) {
int answer = 0;
for (int i = 0; i < moves.length; i++) {
int pos = moves[i];
for (int j = 0; j < board.length; j++) {
if (board[j][pos - 1] == 0) {
continue;
}
if(st.empty()) {
st.push(board[j][pos-1]);
}
else {
if(st.peek()==board[j][pos - 1]) {
st.pop();
answer+=2;
}
else {
st.push(board[j][pos - 1]);
}
}
board[j][pos - 1]=0;
break;
}
}
return answer;
}
}
문제만 읽었을 때는 꽤 복잡해 보였지만, 막상 코드 작성을 했을 땐 간단한 스택 문제라는 것을 알게 되었다