프로그래머스/Lv. 1 - 자바

크레인 인형뽑기 게임

EH헌 2024. 2. 6. 22:25

풀이

import java.util.*;

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

        for (int j = 0; j < moves.length; j++) {
            int column = moves[j] - 1;

            for (int i = 0; i < board.length; i++) {
                if (board[i][column] != 0) {
                    int doll = board[i][column];

                    if (!stack.isEmpty() && stack.peek() == doll) {
                        stack.pop();
                        answer += 2;  // 정답 카운트 증가
                    } else {
                        stack.push(doll);
                    }

                    board[i][column] = 0;  // 뽑은 인형의 위치를 비움
                    break;
                }
            }
        }

        return answer;
    }
}

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

Stack 후입선출인 점을 이용해서 문제 풀이