─━ IT ━─

[프로그래머스] [JAVA] 코딩테스트 연습 - 크레인 인형뽑기 게임

DKel 2021. 3. 10. 08:31
반응형
 

코딩테스트 연습 - 크레인 인형뽑기 게임

[[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]] [1,5,3,5,1,2,1,4] 4

programmers.co.kr

코딩테스트 연습 - 크레인 인형뽑기 게임

설명

게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다.
"죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다.

제한사항

  • board 배열은 2차원 배열로 크기는 "5 x 5" 이상 "30 x 30" 이하입니다.
  • board의 각 칸에는 0 이상 100 이하인 정수가 담겨있습니다.
    • 0은 빈 칸을 나타냅니다.
    • 1 ~ 100의 각 숫자는 각기 다른 인형의 모양을 의미하며 같은 숫자는 같은 모양의 인형을 나타냅니다.
  • moves 배열의 크기는 1 이상 1,000 이하입니다.
  • moves 배열 각 원소들의 값은 1 이상이며 board 배열의 가로 크기 이하인 자연수입니다.

 

소스코드

import java.util.Stack;
class Solution {
    public int solution(int[][] board, int[] moves) {
        int answer = 0;
        Stack<Integer> stack = new Stack<>();
        for (int item : moves) {
            for (int i = 0; i<board.length; i++) {
                if (board[i][item-1] != 0) {
                    if (stack.isEmpty()) {
                        stack.add(board[i][item-1]);
                        } else {
                        if (stack.get(stack.size() -1) != board[i][item-1]) {
                            stack.add(board[i][item-1]);
                            } else {
                            stack.pop();
                            answer += 2;
                            }
                        }
                    board[i][item-1] = 0;
                    break;
                    }
                }
            }
        return answer;
    }
}

제출한 소스코드

 

lemondkel - Overview

4-Year Web programmer. lemondkel has 41 repositories available. Follow their code on GitHub.

github.com

 

반응형