본문 바로가기

코딩테스트 연습/JAVA

[JAVA/알고리즘] 크레인 인형뽑기 게임

반응형

 

https://programmers.co.kr/learn/courses/30/lessons/64061?language=java 

 

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

[[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

 

 

import java.util.*;

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

        for (int m : moves) {
            // m-1번 위치에서 인형 집기
            for (int i = 0; i < board.length; ++i) {
                if (board[i][m-1] != 0) {
                    // 바구니에 옮겨 담기
                    if (basket.isEmpty()) { // 바구니가 비어있는 경우
                        basket.add(board[i][m-1]);
                    } else if (board[i][m-1] == basket.get(basket.size()-1)) {  // 인형이 터지는 경우
                        basket.remove(basket.size()-1);
                        answer += 2;
                    } else {    // 바구니에 담기는 경우
                        basket.add(board[i][m-1]);
                    }
                    board[i][m-1] = 0;
                    break;
                }
            }
        }

        return answer;
    }
}
반응형