[프로그래머스] 크레인 인형뽑기 게임 java

Elmo·2022년 8월 21일
0
post-custom-banner

🔔 크레인 인형뽑기 게임

https://school.programmers.co.kr/learn/courses/30/lessons/64061

누가봐도 stack을 이용하라고 준 문제

뽑을 수 있는 인형을 발견하면 break문으로 인형뽑기를 종료시켜야한다.

🔑 java 풀이

import java.util.*;
class Solution {
    
    public int solution(int[][] board, int[] moves) {
    	//바구니를 stack으로 구현
        Stack<Integer> basket = new Stack<>();
        int answer = 0;
        
        for(int i=0; i<moves.length; i++){
            int j=0;
           while(j<board.length){
               if(board[j][moves[i]-1]!=0){//보드판의 맨 위에 인형이 있으면 뽑기
                    if(!basket.empty()&&
                    (basket.peek()==board[j][moves[i]-1])){//바구니의 맨 위 인형이랑 뽑은 인형이 같으면
                        basket.pop();//바구니의 맨 위 인형 삭제
                        board[j][moves[i]-1]=0;
                        answer+=2;
                        break;
                    }//바구니 맨 위 인형이랑 뽑은 인형이 다르면  
                    basket.push(board[j][moves[i]-1]);
                    board[j][moves[i]-1]=0;
                    break;
                }
               j++;
            }
        }
        return answer;
    }
}

profile
엘모는 즐거워
post-custom-banner

0개의 댓글