본문 바로가기

코딩 문제/프로그래머스

프로그래머스 - 코딩테스트 - Level1 - 크레인 인형뽑기 게임

728x90

 

풀이

 

import java.util.ArrayList;

 

class Solution {

 

      public int solution(int[][] board, int[] moves) {

            int answer = 0;

            int count = 0; // 행 개수

            ArrayList<Integer> arr = new ArrayList<Integer>(); // 바구니

            int index = 0; // 바구니 인덱스

 

            // 행 개수 확인

            for(int i=0; i<board.length; i++){

                  count++;

            }

 

            for(int i=0; i<moves.length; i++){

                  int num = moves[i] - 1;

                  for(int j=0; j<count; j++){

                        if(board[j][num] != 0){ // 젤 위의 값이 0이 아닐 때

                              arr.add(board[j][num]); // 바구니에 담기

                              board[j][num] = 0; // 0으로 변경

                              break; // 탈출

                        }

                  }

                  // 바구니에서 연속된 값 확인

                  if(arr.size() > 1){

                        for(int j=0; j<arr.size()-1; j++){

                              if(arr.get(j) == arr.get(j+1)){

                                    arr.remove(j);

                                    arr.remove(j);

                                    answer += 2;

                                    j = -1;

                              }

                        }

                  }

            }

            return answer;

      }

}

 

결과