https://programmers.co.kr/learn/courses/30/lessons/64061
위 주소를 참조
public int solution(int[][] board, int[] moves) {
int count = 0;
// 인형 바구니 생성
Stack<Integer> stack = new Stack<>();
stack.push(0);
// 인형을 뽑음
for(int crain_pos : moves) {
// 인형
int item = 0;
for(int j=0; j<board[0].length; j++){
if(board[j][crain_pos-1] != 0) {
item = board[j][crain_pos-1];
board[j][crain_pos-1] = 0;
// 같은 인형이 있으면 삭제
if(stack.peek() == item) {
stack.pop();
count += 2;
}
// 없으면 그냥 넣음
else {
stack.push(item);
}
break;
}
}
}
return count;
}
인형 담는 바구니를 Stack으로 설정하여 문제를 해결하였다.
문제 자체가 명확하여 코드를 짜는 것은 어렵지 않았으나,
crain_pos를 그대로 board 인덱스로 가져오는 바람에 IndexOutOfBounds오류가 났다ㅠㅜ