study record

[프로그래머스-자바] 크레인인형뽑기게임 (2019카카오개발자겨울인턴십) 본문

알고리즘

[프로그래머스-자바] 크레인인형뽑기게임 (2019카카오개발자겨울인턴십)

asong 2021. 5. 6. 23:49

크레인인형뽑기게임

  • 스택을 활용한 문제
  • 그냥 하나의 스택으로만 풀어낸다는 거과 그 방법이 board[j][moves[i]-1] =0을 통해 이루어질 수 있다는 것이 조금 획기적이었다.
  • 더 열심히 많이 풀자..!
import java.util.Stack;

public class CraneDollGame {
    public int solution(int[][] board, int[] moves) {
        int answer = 0;
        Stack<Integer> stack = new Stack<>();

        for(int i=0;i< moves.length;i++){
            for(int j=0; j<board.length;j++){
                int top = board[j][moves[i]-1];
                if(top !=0){
                    if(stack.size()>=1){
                        if(stack.peek() == top){
                            stack.pop();
                            answer += 2;
                        }else{
                            stack.add(top);
                        }
                    }else {
                        stack.add(top);
                    }
                    board[j][moves[i]-1] = 0;
                    break;
                }
            }
        }
        return answer;
    }
}