Programming/프로그래머스

[Programmers] 크레인 인형 뽑기 게임

조용한고라니 2021. 2. 6. 21:38
반응형
 

코딩테스트 연습 - 크레인 인형뽑기 게임

[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4

programmers.co.kr

[Stack]

 

스택에 원소를 넣고 다음 들어올 원소가 스택의 최상단 원소와 같으면 pop으로 꺼내고 count를 +2 한다.

# Code </>

import java.util.Stack;

class Solution {

    int solution(int[][] board, int moves[]){

        Stack<Integer> s = new Stack<>();
        int n = board.length;
        int answer = 0;

        for(int i=0; i<moves.length; i++){

            int current = moves[i] - 1;

            for(int j=0; j<n; j++){
                if(board[j][current] != 0){

                    if(!s.isEmpty() && board[j][current] == s.peek()){
                        s.pop();
                        answer += 2;
                    }
                    else
                        s.push(board[j][current]);

                    board[j][current] = 0;
                    break;
                }
            }
        }
        return answer;
    }
}
반응형