[프로그래머스 - 자바(JAVA)] 37 : 크레인 인형뽑기 게임

서예진·2024년 3월 13일
0

목차

크레인 인형뽑기 게임


✅ 크레인 인형뽑기 게임 : Lv.1

▼ 문제

출처 : 프로그래머스 코딩테스트 연습 > 2019 카카오 개발자 겨울 인턴십 > 크레인 인형뽑기 게임

▼ 내 풀이

  • 세로 세워져 있는 장바구니를 보고 스택을 활용했다.
  • for 문으로 moves 를 돌면서 2차배열에 board[j][n-1] 로 접근한다.
  • 스택이 null 이지 않고 peek() 수와 board[j][n-1]이 같은 경우 스택에서 pop() 하고 그렇지 않을 경우 board[j][n-1] 을 push() 한다.
  • 위의 과정을 마쳤으면 break 를 통해 board의 다른 숫자에 접근하지 못하게 한다.
import java.util.*;

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

profile
안녕하세요

0개의 댓글