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

최대 1 분 소요

문제 링크

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


풀이 과정

기본 스택 문제입니다. 현재 골라진 인형 번호가 스택의 top 과 같다면, 그 수를 2씩 누적시켜 리턴하면 됩니다.


코드

import java.util.Stack;

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

        for (int move : moves) {
            int i = 0;

            while (i < board.length && board[i][move - 1] == 0) i++;

            if (i == board.length) continue;

            if (!stack.isEmpty() && stack.peek() == board[i][move - 1]) {
                stack.pop();
                answer += 2;
            } else stack.push(board[i][move - 1]);

            board[i][move - 1] = 0;
        }

        return answer;
    }

    public static void main(String[] args) {
        solution(new int[][]{{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}}, new int[]{1, 5, 3, 5, 1, 2, 1, 4});
    }
}

카테고리:

업데이트:

댓글남기기