import java.util.*;

class Solution {
    public int solution(int[][] board, int[] moves) {
        int answer = 0;
        Stack<Integer> stack = new Stack<>();
        
        for(int i=0; i<moves.length; i++) {
            int index = moves[i]-1;
            for(int j=0; j<board.length; j++) {
                if(board[j][index]==0) { continue; }
                else {
                    if(!stack.isEmpty() && stack.peek()==board[j][index]) {
                        stack.pop();
                        answer += 2;
                    } else {
                        stack.push(board[j][index]);
                    }
                    
                    board[j][index] = 0;
                    break;
                }
            }
        }
        
        return answer;
    }
}

 

'Problem Solving > Programmers' 카테고리의 다른 글

[Level 1] 완주하지 못한 선수  (0) 2022.03.23
[Level 1] 소수 만들기  (0) 2022.03.23
[Level 1] 키패드 누르기  (0) 2022.03.23
[Level 1] 숫자 문자열과 영단어  (0) 2022.03.23
[Level 1] 신규 아이디 추천  (0) 2022.03.23